matlab solve解非线性方程solve('(1-1/m)^2*log(1-m)+0.1247
答案:2 悬赏:30 手机版
解决时间 2021-02-20 20:18
- 提问者网友:兔牙战士
- 2021-02-20 08:06
matlab solve解非线性方程solve('(1-1/m)^2*log(1-m)+0.1247
最佳答案
- 五星知识达人网友:独钓一江月
- 2021-02-20 09:18
非线性方程一般不使用solve解,许多时候没有表达式解,可以采用向量法======以下答案可供参考======供参考答案1:第一个结果是说,精度options.Tol已经满足要求,但这个精度options.TolFun不满足,让你更改初值试试。第二个结果是说已经达到最大计算次数,可以通过提高options.MaxFunEvals来增加计算次数。matlab也是做数值计算的,对计算非线性函数难免受初值选取、精确度满足、步长选择等影响。上面的问题基本也是这样,可以通过设置options来修正,options是个大域名,计算后可以通过在命令窗口输入options来查看各个变量,输入options.变量名 来查看各个变量值,比如options.MaxFunEvals。x = fsolve(fun,x0,options)你可以多了解下它的用法,网上有很多,第三项是options选项,options各变量有默认值,你可以更改,来控制计算。如果再不能的话,估计就是函数太过复杂,或太过矫情,不是fsolve所能计算的。options=optimset('MaxFunEvals',~...)optimset Display: [ off | iter | notify | final ] MaxFunEvals: [ positive scalar ] MaxIter: [ positive scalar ] .............
全部回答
- 1楼网友:风格不统一
- 2021-02-20 10:11
感谢回答,我学习了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯