24小时热门版块排行榜    

查看: 919  |  回复: 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 chengyan1220 2026-08-21 10/500 2026-08-21 17:32 by chengyan1220
[基金申请] 时间戳又变了 +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by 紫杉醇
[基金申请] 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 且听虎啸 2026-08-20 8/400 2026-08-21 12:31 by 酷酷墨镜
[基金申请] 只有每年这种时候来逛逛小木虫 +23 yaoyewhu2008 2026-08-20 25/1250 2026-08-21 12:19 by Poppy1104
[基金申请] 今天基金会出结果吗?20260819 +15 kkkl_v 2026-08-19 16/800 2026-08-21 11:22 by 365372687
[论文投稿] 投稿咨询 +5 wwm09 2026-08-17 7/350 2026-08-21 10:11 by 期刊论文帮手
[基金申请] 基金啊基金 +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
[基金申请] 估计是周四 +3 archvillain 2026-08-18 3/150 2026-08-21 01:48 by jnhyjjm
[基金申请] 今天系统多次维护,明天很可能放榜! +10 zju2000 2026-08-16 11/550 2026-08-20 20:02 by cl479861084
[基金申请] 重要消息,中午系统在维护 +11 yuleib84 2026-08-18 12/600 2026-08-20 11:09 by xskun
[基金申请] 2027广东省杰青 +4 奶牛小黑 2026-08-15 10/500 2026-08-19 11:02 by wanfengnew
[基金申请] 快农历七夕节了,轻松一下,男人悄悄话,女施主请不要进来。 +6 Tide man 2026-08-14 7/350 2026-08-19 09:56 by ZJTJZ
[基金申请] 明天放榜? +5 Shxjjxjkx 2026-08-18 5/250 2026-08-18 18:14 by -大大大大大-
[基金申请] 今天维护系统维护 祝所有人 高中 +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 蔡棒棒菂
[精细化工] 招聘 金属平磨液,抛光液研发工程师 +3 小天0311 2026-08-14 3/150 2026-08-16 07:31 by H9PLUS
信息提示
请填处理意见