Matlab:fsolve No solution found.


代码:

clear
M = 600;N = 420;p=200;q=2282;
eq = @(x) x^M-(1+q/p)*x^(M-N)+q/p;
options = optimset('MaxFunEvals',10000,'MaxIter',1000);
x=fsolve(eq,1.2345,options);
r=1-x

问题描述:

No solution found.

fsolve stopped because the relative size of the current step is less than the
default value of the step size tolerance squared, but the vector of function values
is not near zero as measured by the default value of the function tolerance.

<stopping criteria details>

问题解决:

在命令行窗口键入x

得到 x 1.2114

修改原代码x初值为1.2114

运行,就Equation solved.

 

这个问题应该是迭代的原因,即越来越靠近正确答案。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM