我在for循環中使用fsolve。在某一點上,它找不到解決方案,並給我以下輸出。如果找不到解決方案,則fsolve停止
是否有可能從執行進一步的代碼,如果fsolve不能找到一個解決辦法停止MATLAB?
我在for循環中使用fsolve。在某一點上,它找不到解決方案,並給我以下輸出。如果找不到解決方案,則fsolve停止
是否有可能從執行進一步的代碼,如果fsolve不能找到一個解決辦法停止MATLAB?
當然。只需使用額外fsolve
輸出:
[x, fval, exitflag, output] = fsolve(...)
if exitflag <= 0
return
end
您可以相應地調整基於documentation
概括有這麼fzero返回一個exitflag標誌值的條件。如果不是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
感謝,快速回復。我接受了另一個答案,因爲它更快一點,對不起。 – PalimPalim