MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   两线的交点 (https://www.labfans.com/bbs/showthread.php?t=23118)

poster 2019-12-10 20:30

两线的交点
 
如何获得具有给定表达式或方程式的两个折线图的交点坐标?

例如:L1 = sin(2x),L2 = Ln(x);或其他任何东西。



[B]回答:[/B]

令人惊讶的是,还没有人建议在matlab中使用旨在执行此功能的功能。在这里使用fzero。无论如何,Fzero是比fsolve更好的选择,后者需要优化工具箱。而且,是的,您可以使用牛顿法,甚至二等分法或割线法来实现。但是总的来说,重新发明轮子是错误的事情。使用已经存在的功能。

当前的问题是找到一个点

sin(2*x) == log(x) 这里的log(x)是指自然对数。为此,请先减去一个,然后寻找零。

fun = @(x) sin(2*x) - log(x); 在您这样做之前,请始终将其绘制出来。 ezplot可以为您做到这一点。

ezplot(fun) 该图将显示一个介于1和2之间的根。

fzero(fun,2) ans = 1.3994

[url=https://stackoverflow.com/questions/2250315]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 04:49

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.