求助写循环得到一千个隐函数(w,k)的值
mathematica吧
全部回复
仅看楼主
level 2
看了吧主的帖子,学会用了RootSearch求根,感谢吧主@xzcyr。不过现在的问题是我想求的是一个隐函数的一千个(w,k)的值,现在我只会给定一个w的值得到一组k的值,但是不会写循环,求助大佬。
seg = g -> 9.8;
Subscript[se\[Rho], 1] = Subscript[\[Rho], 1] -> 1024;
Subscript[se\[Rho], e] = Subscript[\[Rho], e] -> 917;
sev = v -> 0.3;
seE = capse -> 5*10^9;
sed = d -> 20;
seD = D -> (capse*d^3)/(12*(1 - v^2)) /. seE /. sev /.
sed;
se\[CapitalGamma] = \[CapitalGamma] -> D/(Subscript[\[Rho], 1]*g) /.
seD /. seg /. Subscript[se\[Rho], 1];
Subscript[seM, e] = Subscript[M, e] -> 917*d /. sed;
2023年03月05日 08点03分 1
level 2
代码好像不全,补一下
seg = g -> 9.8;
Subscript[se\[Rho], 1] = Subscript[\[Rho], 1] -> 1024;
Subscript[se\[Rho], e] = Subscript[\[Rho], e] -> 917;
sev = v -> 0.3;
seE = capse -> 5*10^9;
sed = d -> 20;
seD = D -> (capse*d^3)/(12*(1 - v^2)) /. seE /. sev /.
sed;
se\[CapitalGamma] = \[CapitalGamma] -> D/(Subscript[\[Rho], 1]*g) /.
seD /. seg /. Subscript[se\[Rho], 1];
Subscript[seM, e] = Subscript[M, e] -> 917*d /. sed;
se\[Sigma] = \[Sigma] -> Subscript[M, e]/(Subscript[\[Rho], 1]*g) /.
Subscript[se\[Rho], 1] /. seg /. Subscript[seM, e];
Subscript[seh, 1] = Subscript[h, 1] -> 1000;
Subscript[seh, 2] = Subscript[h, 2] -> 3000;
seQ = Q -> 0;
se\[CapitalLambda] = \[CapitalLambda] -> Q/(
Subscript[\[Rho], 1]*g) /. seQ /. seg /. Subscript[se\[Rho], 1];
Subscript[sec, 1] = Subscript[c, 1] -> 1500;
Subscript[sec, 2] = Subscript[c, 2] -> 1700;
se\[Gamma] = \[Gamma] -> 0.9;
Subscript[sek, 1] =
Subscript[k, 1] -> (k^2 -((Subscript[k, s]))^2)^(1/2) /. Subscript[
sek, s];
Subscript[sek, 2] =
Subscript[k, 2] -> (k^2 -((Subscript[k, x]))^2)^(1/2) /. Subscript[
sek, x];
Subscript[set, 1] =
Subscript[t, 1] -> Tan[Subscript[k, 1]*Subscript[h, 1]] /.
Subscript[seh, 1] /. Subscript[sek, 1];
Subscript[set, 2] =
Subscript[t, 2] -> Tan[Subscript[k, 2]*Subscript[h, 2]] /.
Subscript[seh, 2] /. Subscript[sek, 2];
Subscript[se\[Omega], 2] =
Subscript[\[Omega], 2] -> (g*Subscript[k, 1])^(1/2) /. seg /.
Subscript[sek, 1];
Subscript[seG, 1] =
Subscript[G, 1] -> 1 +\[CapitalGamma]*k^4 +\[CapitalLambda]*k^2 /.
se\[CapitalLambda] /. se\[CapitalGamma];
Subscript[seG, 2] =
Subscript[G, 2] ->
1 +\[Gamma]*(\[CapitalGamma]*k^4 + \[CapitalLambda]*k^2) /.
se\[CapitalLambda] /. se\[CapitalGamma] /. se\[Gamma];
Subscript[seG, 3] =
Subscript[G, 3] -> \[Sigma]*g*Subscript[k, 1] /. se\[Sigma] /.
seg /. Subscript[sek, 1];
Subscript[sek, s] =
Subscript[k, s] -> Subscript[\[Omega], 1]/Subscript[c, 1] /.
Subscript[sec, 1];
Subscript[sek, x] =
Subscript[k, x] -> Subscript[\[Omega], 1]/Subscript[c, 2] /.
Subscript[sec, 2];
sr1 := ((Subscript[\[Omega],
1])^4 (Subscript[k, 1] -
Subscript[G,
3] (Subscript[k, 1]*Subscript[t, 1] + \[Gamma]*
Subscript[k, 2]*Subscript[t, 2]) - \[Gamma]*
Subscript[k, 2]*Subscript[t, 1]*Subscript[t,
2]) + (Subscript[\[Omega],
1])^2*(Subscript[\[Omega],
2])^2*(Subscript[G, 1]*Subscript[k, 1]*Subscript[
t, 1] +
Subscript[G, 2]*Subscript[k, 2]*Subscript[t,
2] - (1 - \[Gamma])*Subscript[G, 3]*Subscript[k,
2]*Subscript[t, 1]*Subscript[t,
2]) + (Subscript[\[Omega], 2])^4*(1 - \[Gamma])*
Subscript[G, 1]*Subscript[k, 2]*Subscript[t, 1]*
Subscript[t, 2]) /. seg /. Subscript[se\[Rho],
1] /. Subscript[se\[Rho], e] /. sev /. seE /.
sed /. seD /. se\[CapitalGamma] /. Subscript[seM,
e] /. se\[Sigma] /. Subscript[seh, 1] /. Subscript
[seh, 2] /. seQ /. se\[CapitalLambda] /. Subscript[
sec, 1] /. Subscript[sec, 2] /. se\[Gamma] /.
Subscript[sek, 1] /. Subscript[sek, 2] /. Subscript[set,
1] /. Subscript[se\[Omega], 2] /. Subscript[seG, 1] /.
Subscript[seG, 2] /. Subscript[seG, 3] /. Subscript[sek, s] /.
Subscript[sek, x] /. Subscript[set, 2] /.
Subscript[\[Omega], 1] -> 2*\[Pi]*0.1005
soln = RootSearch[sr1 == 0, {k, 0, 0.004}]
2023年03月05日 08点03分 2
吧务
level 15
《别用For循环,它在Mathematica里又慢又不简洁,百害无一利!》:
https://tieba.baidu.com/p/5104865347
2023年04月01日 10点04分 3
1