【求助】如何将图中的点提取出来做为初始值,用Findroot求根
mathematica吧
全部回复
仅看楼主
level 3
筇殇love 楼主
代码如下:
L = 0.4;
FF = Tan[L*b] - (0.2*b)/(b^2 - 0.01);
Plot[FF, {b, 0, 2}]
q1 = b /. FindRoot[FF, {b, 0.3}]
2019年03月02日 04点03分 1
level 3
筇殇love 楼主
代码中的0.3是根据绘图来确定的,求大神翻牌,如何用代码实现将图中零点做为q1 = b /. FindRoot[FF, {b, 0.3}]中的初始值。希望我表达清楚了!!!万方感谢!!!
2019年03月02日 04点03分 2
吧务
level 15
如果你这个问题是这个问题(https://tieba.baidu.com/p/6018666354)的后续的话,那你最好先去试试RootSearch程序包。从图上挖点当然是可以的:
L = 0.4;
FF = Tan[L*b] - (0.2*b)/(b^2 - 0.01);
plot = Plot[FF, {b, 0, 2}, MeshFunctions -> (#2 &), Mesh -> {{0.}},
MeshStyle -> PointSize[Medium]]
initial = Cases[Normal@plot, Point[a_] :> a, Infinity][[1, 1]]
q1 = b /. FindRoot[FF, {b, initial}]
注意这个方法要版本11.2之后才好使,因为这一版开始Plot才能做奇点判断,再往前你得到的图是这样的:
2019年03月02日 04点03分 3
用rootsearch搞定了,非常谢谢,那个提示好像可以忽略掉
2019年03月02日 06点03分
1