24小时热门版块排行榜    

查看: 923  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 今日不放榜?网传国自然预计 8 月 27 日可查结果 +16 医学老男孩 2026-08-20 20/1000 2026-08-21 21:13 by Ldrop2023
[基金申请] 科研孤儿太难了 +17 我4大白菜 2026-08-20 18/900 2026-08-21 20:57 by zhangev
[基金申请] 看来今天不会放榜了? +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[基金申请] filecode,4个jtjc了 +11 ziyangfang 2026-08-19 14/700 2026-08-21 16:51 by applepetty
[基金申请] 让我中一个面上吧! +11 大萍1987 2026-08-20 13/650 2026-08-21 14:48 by 20120902066
[基金申请] 人气不行了 +7 fansofjerry 2026-08-21 7/350 2026-08-21 14:13 by Vivilian
[基金申请] 感觉是下周放榜了 +7 angus9576 2026-08-17 12/600 2026-08-21 13:38 by weiyin
[基金申请] 我面上完蛋了 +7 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 什么时候开奖? +7 CrisMessi 2026-08-18 7/350 2026-08-21 12:15 by weiyin
[基金申请] 时间戳又变了8-15 +15 archvillain 2026-08-15 27/1350 2026-08-21 11:32 by tim76
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[基金申请] 应该是下周三26日公布了吧? +4 哈哈蛤? 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[基金申请] 基金啊基金 +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
[基金申请] 时间戳变了,能看出什么问题? +18 基诺咪客 2026-08-17 23/1150 2026-08-20 17:19 by Godzela
[教师之家] 为什么余额宝的年化利率越来越低?主要原因有哪些? +5 瞬息宇宙 2026-08-15 5/250 2026-08-19 20:23 by super2002521
[基金申请] 今天放榜吗? +14 布布和一二 2026-08-19 15/750 2026-08-19 18:07 by gltch
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
信息提示
请填处理意见