如果找不到解决方案,Matlab会停止

时间:2017-07-13 13:28:17

标签: matlab solver

我在for循环中使用fsolve。在某个时刻,它找不到解决方案,并给我以下输出。

enter image description here

如果fsolve无法找到解决方案,是否可以阻止matlab执行更多代码?

2 个答案:

答案 0 :(得分:1)

fzero返回的退出标志。如果它不是1则遇到一些问题:

https://www.mathworks.com/help/matlab/ref/fzero.html

例如:

func                            = @(x) x^2 +1  
[x, fval, exitflag, output]     = fzero(func, 0)

if exitflag ~= 1
    disp('no solution was found, terminating further execution');
    return
end

答案 1 :(得分:0)

不确定。只需使用额外的fsolve输出:

[x, fval, exitflag, output] = fsolve(...)
if exitflag <= 0
    return
end

您可以根据documentation

中列出的标记值相应地调整条件