24小时热门版块排行榜    

查看: 787  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

BobbyYoung

银虫 (初入文坛)

[求助] matlab解非线性方程组 已有2人参与

本人matlab菜鸟一个,解非线性方程组时出现以下提示,请问是什么意思?该怎么解决?
Optimizer appears to be converging to a point which is not a root.
Relative function value changing by less than max(options.TolFun^2,eps) but
sum-of-squares of function values is greater than or equal to sqrt(options.TolFun)
Try again with a new starting guess.

m =

    5.0482    5.9987    7.1051


fval =

  1.0e+016 *

    3.8464
    0.0000
   -0.0000
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

To be a better man.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

BobbyYoung

银虫 (初入文坛)

引用回帖:
2楼: Originally posted by 月只蓝 at 2014-08-06 11:37:11
更换一组初值,再试试。

谢谢您,我更改初值试了一下,还是不行。因为我是想计算模拟水盐体系的溶解度数据,输入实验值的近似值,为
>>m0=[4.24,4.65,8.13];
>>[m,fval]=fsolve('FphaseEq',m0)
m =

    6.5588    7.2533    7.8359


fval =

  1.0e+016 *

    3.8464
    0.0000
   -0.0000 (以下每次函数值均相同,未列出)
然后我换了几个初值试了一下,结果如下(请见附件)。
由于是计算溶解度数据,计算值与实验值希望不会偏差太大,应该怎么解决matlab中提到的问题?小弟对于matlab所知实在十分有限,请前辈指点,非常感谢!
matlab解非线性方程组
1.jpg

To be a better man.
3楼2014-08-06 15:51:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
更换一组初值,再试试。

[ 发自小木虫客户端 ]
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2014-08-06 11:37:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cooooldog

铁杆木虫 (著名写手)

ส็็็

【答案】应助回帖

感谢参与,应助指数 +1
引用回帖:
3楼: Originally posted by BobbyYoung at 2014-08-06 15:51:49
谢谢您,我更改初值试了一下,还是不行。因为我是想计算模拟水盐体系的溶解度数据,输入实验值的近似值,为
>>m0=;
>>=fsolve('FphaseEq',m0)
m =

    6.5588    7.2533    7.8359


fval = ...

fsolve归根到底还是迭代方法;
如果方程组自己没有0点,或者迭代法的Jacobian矩阵在某些步骤接近singular矩阵(数值不满秩)的情况下,会出现上面的情况.

如果一定要用fsolve,说明默认的trust region + dogleg 算法行不通;
可以改用:
algorithm_name = 'trust-region-dogleg'; %这是默认算法
%'levenberg-marquardt' % 针对Jacobian矩阵非奇异效果较好的
options = optimset('Algorithm',algorithm_name);

%或者通过设置下面两个选项用Gauss-Newton+Line search的方法:
and NonlEqnAlgorithm
options = optimset('LargeScale ','off',...%对规模较小问题适用
              'NonlEqnAlgorithm','gn', ...  % 选择G-N算法
               'LineSearchType','cubicpoly'); % 用三次步长因子
然后把fsolve的options参数加上(参考help fsolve调用格式)


如果fsolve仍解决不了问题(非线性很强的,)可以考虑用最小二乘的方式把方程组改成残差平方和,用最优化的方式,粒子群,差分演化等(PSO或Differential evolution)求近似解即可.
ส็็็็็็็็็็็็็็็็็็็็
4楼2014-08-06 21:06:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0856材料与化工,270求调剂 +7 YXCT 2026-03-01 7/350 2026-03-02 08:29 by houyaoxu
[考研] 材料复试调剂 +4 学材料的点 2026-03-01 5/250 2026-03-02 08:26 by houyaoxu
[考研] 哈工大计算机刘劼团队招生 +3 hit_aiot 2026-03-01 5/250 2026-03-02 07:48 by 得鹿梦鱼111
[考研] 欢迎采矿、地质、岩土、计算机、人工智能等专业的同学报考 +4 pin8023 2026-02-28 6/300 2026-03-02 06:35 by 汪!?!
[考研] 279求调剂 +3 dua1 2026-03-01 4/200 2026-03-02 00:23 by 大脸蛋子
[基金申请] 本子写完了,给DS兄弟看了,得了92分 +3 Doma 2026-03-01 7/350 2026-03-02 00:00 by jnzsy
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-01 5/250 2026-03-01 23:31 by L135790
[考研] 0856调剂 +5 刘梦微 2026-02-28 5/250 2026-03-01 22:30 by wang_dand
[硕博家园] 博士自荐 +7 科研狗111 2026-02-26 11/550 2026-03-01 22:24 by 哲平L
[考研] 0856求调剂285 +10 吕仔龙 2026-02-28 10/500 2026-03-01 21:37 by 公瑾逍遥
[考研] 274求调剂 +3 cgyzqwn 2026-03-01 6/300 2026-03-01 21:24 by cgyzqwn
[考研] 299求调剂 +3 Y墨明棋妙Y 2026-02-28 5/250 2026-03-01 21:01 by tangxiaotian
[考研] 0856化工专硕求调剂 +12 董boxing 2026-03-01 12/600 2026-03-01 19:45 by 材子momo
[考研] 298求调剂 +6 axyz3 2026-02-28 6/300 2026-03-01 19:00 by 18137688336
[考研] 291分工科求调剂 +9 science饿饿 2026-03-01 10/500 2026-03-01 18:55 by 18137688336
[考博] 26申博 +4 想申博! 2026-02-26 6/300 2026-03-01 17:32 by 想申博!
[考研] 材料工程274求调剂 +3 Lilithan 2026-03-01 3/150 2026-03-01 14:58 by ms629
[考研] 课题组接收材料类调剂研究生 +3 gaoxiaoniuma 2026-02-28 4/200 2026-03-01 14:30 by jjj三跨
[硕博家园] 2025届双非化工硕士毕业,申博 +3 更多的是 2026-02-27 4/200 2026-03-01 10:04 by ztg729
[考研] 085600材料工程一志愿中科大总分312求调剂 +8 吃宵夜1 2026-02-28 10/500 2026-02-28 20:27 by L135790
信息提示
请填处理意见