找回密码
 注册
Simdroid-非首页
查看: 137|回复: 5

利用MATLAB求解非线性方程组问题

[复制链接]
发表于 2010-8-17 10:19:19 | 显示全部楼层 |阅读模式 来自 山东青岛
各位学友好,我在利用牛顿迭代法回归公式参数时遇到一些麻烦,请帮忙调试一下吧。谢谢了!下面是三个非线性方程,求解k,a,b.
F1=
- (47/5)^a*(886/25)^b*((47/5)^a*(886/25)^b*k - 79/12500) - (47/5)^a*(4903/100)^b*((47/5)^a*(4903/100)^b*k - 47/12500) - (28/5)^a*(182/5)^b*((28/5)^a*(182/5)^b*k - 129/25000) - (58/5)^a*(559/25)^b*((58/5)^a*(559/25)^b*k - 333/25000) - (47/5)^a*(1393/50)^b*((47/5)^a*(1393/50)^b*k - 241/25000) - (64/5)^a*(2731/100)^b*((64/5)^a*(2731/100)^b*k - 301/25000) - (28/5)^a*(4317/100)^b*((28/5)^a*(4317/100)^b*k - 87/25000) - (28/5)^a*(461/10)^b*((28/5)^a*(461/10)^b*k - 209/50000) - (28/5)^a*(1803/100)^b*((28/5)^a*(1803/100)^b*k - 793/50000) - (28/5)^a*(2973/100)^b*((28/5)^a*(2973/100)^b*k - 291/50000) - (58/5)^a*(5099/100)^b*((58/5)^a*(5099/100)^b*k - 193/50000) - (28/5)^a*(559/25)^b*((28/5)^a*(559/25)^b*k - 1067/100000) - (58/5)^a*(883/20)^b*((58/5)^a*(883/20)^b*k - 479/100000) - (58/5)^a*(934/25)^b*((58/5)^a*(934/25)^b*k - 549/100000) - (28/5)^a*(627/25)^b*((28/5)^a*(627/25)^b*k - 1237/100000) - (28/5)^a*(781/50)^b*((28/5)^a*(781/50)^b*k - 1431/100000) - (47/5)^a*(2059/100)^b*((47/5)^a*(2059/100)^b*k - 1433/100000) - (58/5)^a*(2973/100)^b*((58/5)^a*(2973/100)^b*k - 911/100000) - (28/5)^a*(3257/100)^b*((28/5)^a*(3257/100)^b*k - 663/100000) - (28/5)^a*(3929/100)^b*((28/5)^a*(3929/100)^b*k - 601/100000)=0;

F2=
- 5045629660834333/2251799813685248*(47/5)^a*(886/25)^b*((47/5)^a*(886/25)^b*k - 79/12500) - 5045629660834333/2251799813685248*(47/5)^a*(4903/100)^b*((47/5)^a*(4903/100)^b*k - 47/12500) - 7758651007633171/4503599627370496*(28/5)^a*(182/5)^b*((28/5)^a*(182/5)^b*k - 129/25000) - 5519172823270913/2251799813685248*(58/5)^a*(559/25)^b*((58/5)^a*(559/25)^b*k - 333/25000) - 5045629660834333/2251799813685248*(47/5)^a*(1393/50)^b*((47/5)^a*(1393/50)^b*k - 241/25000) - 5740840160890957/2251799813685248*(64/5)^a*(2731/100)^b*((64/5)^a*(2731/100)^b*k - 301/25000) - 7758651007633171/4503599627370496*(28/5)^a*(4317/100)^b*((28/5)^a*(4317/100)^b*k - 87/25000) - 7758651007633171/4503599627370496*(28/5)^a*(461/10)^b*((28/5)^a*(461/10)^b*k - 209/50000) - 7758651007633171/4503599627370496*(28/5)^a*(1803/100)^b*((28/5)^a*(1803/100)^b*k - 793/50000) - 7758651007633171/4503599627370496*(28/5)^a*(2973/100)^b*((28/5)^a*(2973/100)^b*k - 291/50000) - 5519172823270913/2251799813685248*(58/5)^a*(5099/100)^b*((58/5)^a*(5099/100)^b*k - 193/50000) - 7758651007633171/4503599627370496*(28/5)^a*(559/25)^b*((28/5)^a*(559/25)^b*k - 1067/100000) - 5519172823270913/2251799813685248*(58/5)^a*(883/20)^b*((58/5)^a*(883/20)^b*k - 479/100000) - 5519172823270913/2251799813685248*(58/5)^a*(934/25)^b*((58/5)^a*(934/25)^b*k - 549/100000) - 7758651007633171/4503599627370496*(28/5)^a*(627/25)^b*((28/5)^a*(627/25)^b*k - 1237/100000) - 7758651007633171/4503599627370496*(28/5)^a*(781/50)^b*((28/5)^a*(781/50)^b*k - 1431/100000) - 5045629660834333/2251799813685248*(47/5)^a*(2059/100)^b*((47/5)^a*(2059/100)^b*k - 1433/100000) - 5519172823270913/2251799813685248*(58/5)^a*(2973/100)^b*((58/5)^a*(2973/100)^b*k - 911/100000) - 7758651007633171/4503599627370496*(28/5)^a*(3257/100)^b*((28/5)^a*(3257/100)^b*k - 663/100000) - 7758651007633171/4503599627370496*(28/5)^a*(3929/100)^b*((28/5)^a*(3929/100)^b*k - 601/100000)=0;

F3=
- 1004257997774109/281474976710656*(47/5)^a*(886/25)^b*((47/5)^a*(886/25)^b*k - 79/12500) - 4382489226632347/1125899906842624*(47/5)^a*(4903/100)^b*((47/5)^a*(4903/100)^b*k - 47/12500) - 8094249297019231/2251799813685248*(28/5)^a*(182/5)^b*((28/5)^a*(182/5)^b*k - 129/25000) - 6996958222281519/2251799813685248*(58/5)^a*(559/25)^b*((58/5)^a*(559/25)^b*k - 333/25000) - 7492170254429321/2251799813685248*(47/5)^a*(1393/50)^b*((47/5)^a*(1393/50)^b*k - 241/25000) - 3723635771968247/1125899906842624*(64/5)^a*(2731/100)^b*((64/5)^a*(2731/100)^b*k - 301/25000) - 264948582265051/70368744177664*(28/5)^a*(4317/100)^b*((28/5)^a*(4317/100)^b*k - 87/25000) - 539138992942431/140737488355328*(28/5)^a*(461/10)^b*((28/5)^a*(461/10)^b*k - 209/50000) - 3256144230786041/1125899906842624*(28/5)^a*(1803/100)^b*((28/5)^a*(1803/100)^b*k - 793/50000) - 3819228841605155/1125899906842624*(28/5)^a*(2973/100)^b*((28/5)^a*(2973/100)^b*k - 291/50000) - 4426621327271717/1125899906842624*(58/5)^a*(5099/100)^b*((58/5)^a*(5099/100)^b*k - 193/50000) - 6996958222281519/2251799813685248*(28/5)^a*(559/25)^b*((28/5)^a*(559/25)^b*k - 1067/100000) - 8528901047446683/2251799813685248*(58/5)^a*(883/20)^b*((58/5)^a*(883/20)^b*k - 479/100000) - 2038216946648547/562949953421312*(58/5)^a*(934/25)^b*((58/5)^a*(934/25)^b*k - 549/100000) - 3627729118719845/1125899906842624*(28/5)^a*(627/25)^b*((28/5)^a*(627/25)^b*k - 1237/100000) - 3094594603345047/1125899906842624*(28/5)^a*(781/50)^b*((28/5)^a*(781/50)^b*k - 1431/100000) - 3405628254355651/1125899906842624*(47/5)^a*(2059/100)^b*((47/5)^a*(2059/100)^b*k - 1433/100000) - 3819228841605155/1125899906842624*(58/5)^a*(2973/100)^b*((58/5)^a*(2973/100)^b*k - 911/100000) - 7843900599305793/2251799813685248*(28/5)^a*(3257/100)^b*((28/5)^a*(3257/100)^b*k - 663/100000) - 2066572409409471/562949953421312*(28/5)^a*(3929/100)^b*((28/5)^a*(3929/100)^b*k - 601/100000)=0;
发表于 2010-8-18 09:43:31 | 显示全部楼层 来自 福建福州
Simdroid开发平台
用fsolve,改变不同的初值试试。
方程组有多种解,下面仅列出几组。
a: -313.969738632585
b: -513.945049352261
k: 106.784472855263

a: -253.578505369882
b: -258.123935262689
k: 1.24698219392663

a: -215.109660986157
b: -258.234964089201
k: 20.1788162240007

a: -211.882879500072
b: -258.961773292828
k: 24.1287795725219


a: -206.284866731229
b: -257.463918841601
k: 2.07006085296422

a: -205.829597278142
b: -256.849486473143
k: 32.6418564749706

a: -203.606627948683
b: -258.674385351111
k: 4.43786886839912

a: -202.990753825663
b: -258.650399830472
k: 23.3637426947741

a: -186.101474150954
b: -257.184739144989
k: 25.2264870804092
...
回复 不支持

使用道具 举报

发表于 2010-8-18 16:37:41 | 显示全部楼层 来自 山东淄博
由于公式中存在大指数运算,上面的解似乎是有问题的。
例如将任一组解带入公式中的指数部分,都为0.
回复 不支持

使用道具 举报

发表于 2010-8-23 17:51:36 | 显示全部楼层 来自 山东淄博
大家看看这组解是正解吗?
k=0.36154220483986632, a=0.32752676871140951, b=-1.3185681472581878
回复 不支持

使用道具 举报

发表于 2010-8-23 18:27:29 | 显示全部楼层 来自 湖南湘潭
3# wanglu
由于公式中存在大指数运算,上面的解似乎是有问题的。
例如将任一组解带入公式中的指数部分,都为0.
wanglu 发表于 2010-8-18 16:37


没看明白,F1、F2、F3表达式中的指数不是a就是b.
回复 不支持

使用道具 举报

发表于 2010-8-23 18:55:15 | 显示全部楼层 来自 山东淄博
没看明白,F1、F2、F3表达式中的指数不是a就是b.
lin2009 发表于 2010-8-23 18:27

怪我说的不明确,呵呵。

例如:(47/5)^a*(886/25)^b*((47/5)^a*(886/25)^b*k - 79/12500)

当a和b为-200左右时,该式为0.

即:(47/5)^a*(886/25)^b*((47/5)^a*(886/25)^b*k - 79/12500) =0×(0- 79/12500) =0

F1、F2、F3表达式基本上是类似的计算部分组成的。
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 19:25 , Processed in 0.062434 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表