如何获得具有给定表达式或方程式的两个折线图的交点坐标?
例如: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
更多&回答...