Matlab Solve():没有给出所有的解决方案

时间:2014-06-17 21:15:08

标签: matlab symbolic-math equation-solving

我试图找到两条曲线的交点

syms x y
g(x) = 20*(exp(-(x+30)/3.5)-1);
[sol_x, sol_y] = solve((x+22.3097)^2+(y+16.2497)^2 == 25, y == g(x),x,y,'Real',true) ;

它只提供一种解决方案。但根据两个方程的图,应该有两个交点。我该如何纠正这个问题?

1 个答案:

答案 0 :(得分:1)

求解器无法找到解析解,因此使用了数值解算器。使用数值方法找不到所有解法都没有可靠的方法,但是如果你有一个很好的猜测(例如从一个图中),请尝试使用合理的初始值设置vpasolve。在这种情况下,初始值为-50我得到了另一种解决方案。