Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
如何获得具有给定表达式或方程式的两个折线图的交点坐标?
例如:L1 = sin(2x),L2 = Ln(x);或其他任何东西。 回答: 令人惊讶的是,还没有人建议在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 更多&回答... |
![]() |
![]() |