24小时热门版块排行榜    

查看: 918  |  回复: 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的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

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

[ 发自小木虫客户端 ]
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2014-08-06 11:37:11
已阅   回复此楼   关注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的回帖

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的回帖
相关版块跳转 我要订阅楼主 BobbyYoung 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[基金申请] 科研孤儿太难了 +15 我4大白菜 2026-08-20 16/800 2026-08-21 11:07 by yming1319
[基金申请] 我面上完蛋了 +6 且听虎啸 2026-08-20 6/300 2026-08-21 10:59 by Vivilian
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 今天放榜没戏了吧 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
[基金申请] 基金啊基金 +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
[基金申请] 放榜前的不淡定 40+4 snowwithsea 2026-08-19 13/650 2026-08-21 08:30 by 北京莱茵编辑
[基金申请] 时间戳今天,20号变了 +4 archvillain 2026-08-20 4/200 2026-08-21 08:10 by gatelove
[基金申请] 只有每年这种时候来逛逛小木虫 +22 yaoyewhu2008 2026-08-20 24/1200 2026-08-21 07:44 by DanielDDDD
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +15 医学老男孩 2026-08-20 17/850 2026-08-20 20:35 by CaoLG
[基金申请] 时间戳又变了 +12 wuchongjun 2026-08-20 17/850 2026-08-20 20:05 by spzhao
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 13/650 2026-08-19 21:28 by aasahr
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 时间戳又变了8-15 +14 archvillain 2026-08-15 26/1300 2026-08-18 13:37 by phantomgost
[基金申请] 今天维护系统维护 祝所有人 高中 +8 gjjjzhong 2026-08-18 9/450 2026-08-18 13:01 by 家与远方
[基金申请] 93BebMhtakh前后11位开头都是大写 +4 且听虎啸 2026-08-17 5/250 2026-08-18 00:49 by 蔡棒棒菂
[基金申请] 感觉是下周放榜了 +6 angus9576 2026-08-17 11/550 2026-08-17 23:57 by angus9576
信息提示
请填处理意见