求助
mathematica吧
全部回复
仅看楼主
level 2
为什么结果会出现
$MinPrecisionprecset : Cannot set $MinPrecision to -oo; value must be a non-negative number or Infinity.啊,看了自带帮助也没看懂,求助大佬怎么解决啊。
附代码:
Needs["Ersek`RootSearch`"]
seg = g -> 9.8;
se\[Rho] = \[Rho] -> 1024;
sev = v -> 0.3;
seE = capse -> 5*10^11;
seD = D -> (capse*d^3)/(12*(1 - v^2)) /. seE /. sev;
se\[CapitalGamma] = \[CapitalGamma] -> D/(\[Rho]*g) /. seD /. seg /.
se\[Rho];
Subscript[seM, e] = Subscript[M, e] -> 917*d;
se\[Sigma] = \[Sigma] -> Subscript[M, e]/(\[Rho]*g) /. se\[Rho] /.
seg /. Subscript[seM, e];
seh = h -> 1000;
seQ = Q -> 0;
se\[CapitalLambda] = \[CapitalLambda] -> Q/(\[Rho]*g) /. seQ /.
seg /. se\[Rho];
sec = c -> 1500;
Subscript[sek, 2] =
Subscript[k, 2] -> (\[Omega]^2/c^2 - k^2)^(1/2) /. sec;
sr1 =
\[Omega]^2*(1 - \[Sigma]*g*Subscript[k, 2]*
Tan[Subscript[k, 2]*h]) + (1 + \[CapitalGamma]*
k^4 - \[CapitalLambda]*k^2)*g*Subscript[k, 2]*
Tan[Subscript[k, 2]*h] /. seg /. se\[CapitalGamma] /.
se\[CapitalLambda] /. seh /. se\[Sigma] /. sec /.
Subscript[sek, 2] /. d -> 10 /. sev /. se\[Rho] /. seE;
For[i = 1, i <= 20, i++,
sr2 = sr1 /. \[Omega] -> 2*\[Pi]*(0.001 + (i - 1)*0.00002);
Print[soln = RootSearch[sr2 == 0, {k, 0.000000001, 0.0004}]]]
2023年03月12日 09点03分 1
吧务
level 15
……$MinPrecision在版本7时代悄悄发生了改变。原本它默认值是-Infinity,后续版本变成了0,并且不再允许设成负值。
从实践来看,这个变动对RootSearch的性能似乎没有明确影响。也就是说,这个警告可以不管。不放心的话可以用其他求根手段仔细验验。
2023年04月01日 10点04分 2
1