两条线的交点

Ali*_*eza 3 matlab

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

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

小智 6

令人惊讶的是,还没有人建议在matlab中使用设计的功能.在这里使用fzero.无论如何,Fzero是比fsolve更好的选择,这需要优化工具箱.而且,是的,你可以用牛顿的方法,甚至是二分法或割线法来做到这一点.但重新发明轮子是不错的做法.使用已存在的功能.

手头的问题是找到一个点

sin(2*x) == log(x)
Run Code Online (Sandbox Code Playgroud)

这里log(x)指的是自然对数.通过从另一个中减去一个来执行此操作,然后查找结果的零.

fun = @(x) sin(2*x) - log(x);
Run Code Online (Sandbox Code Playgroud)

在你这样做之前,总是绘制它.ezplot可以帮到你.

ezplot(fun)
Run Code Online (Sandbox Code Playgroud)

该图将显示介于1和2之间的单个根.

fzero(fun,2)
ans =
       1.3994
Run Code Online (Sandbox Code Playgroud)