24小时热门版块排行榜    

查看: 2395  |  回复: 12

zjs12309

金虫 (小有名气)

[求助] matlab非线性最小二乘法求解 已有1人参与

MATLAB菜鸟一枚,刚刚接触,看了一些教程,还不是很懂。求以下MATLAB命令:

A=[9.9918 34.8711         27.6458 3.3942 0.7045 2.6463 10.3137 0.8961 1.0735 18.1463 8.0727 6.9464]
B=[10.2507 34.7255 26.7698         2.4635 1.5682 2.6000 9.3137 1.6580 1.8725 19.1463 8.4000 7.5714]
C=[10.0409 35.1425 27.1349 2.9538 1.7045 2.8021 9.6078 1.8398 1.9608 19.0366 9.0364 8.5357]
D=[9.4414 34.9618 26.7888 2.8404 1.5114 3.6000 9.5882 1.8961 2.0735 18.4878 8.4727 7.8571]
E=[10.4414 35.7255 27.7698 3.4635 1.2992 2.6105 9.6863 1.4459 1.6961 19.9760 9.7270 7.5357]

Y=[10.0409 34.9618 27.1349 2.9538 1.5114 2.6463 9.6078 1.658 1.8725 19.0366 8.4727 7.5714]

Y=aA+bB+cC+dD+eE
且a+b+c+d+e=1.0000且a, b, c, d, e均≥0。

如何通过MATLAB用非线性最小二乘法求解a, b, c, d, e?
回复此楼

» 收录本帖的淘帖专辑推荐

国基、SCI投稿精华集

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

dingd

铁杆木虫 (职业作家)


fegg7502: 金币+1, 鼓励交流 2014-04-04 08:16:23
1stOpt求解:
CODE:
Variable A,B,C,D,E,Y;
ParameterDomain = [0,];
Function Y=aa*A+bb*B+cc*C+dd*D+ee*E;
         aa+bb+cc+dd+ee=1;
Data;
A=[9.9918 34.8711         27.6458 3.3942 0.7045 2.6463 10.3137 0.8961 1.0735 18.1463 8.0727 6.9464];
B=[10.2507 34.7255 26.7698         2.4635 1.5682 2.6000 9.3137 1.6580 1.8725 19.1463 8.4000 7.5714];
C=[10.0409 35.1425 27.1349 2.9538 1.7045 2.8021 9.6078 1.8398 1.9608 19.0366 9.0364 8.5357];
D=[9.4414 34.9618 26.7888 2.8404 1.5114 3.6000 9.5882 1.8961 2.0735 18.4878 8.4727 7.8571];
E=[10.4414 35.7255 27.7698 3.4635 1.2992 2.6105 9.6863 1.4459 1.6961 19.9760 9.7270 7.5357];
Y=[10.0409 34.9618 27.1349 2.9538 1.5114 2.6463 9.6078 1.658 1.8725 19.0366 8.4727 7.5714];

均方差(RMSE):0.0843074888689747
残差平方和(SSE):0.0852930321527076
相关系数(R): 0.999969172296392
相关系数之平方(R^2): 0.999938345543131
确定系数(DC): 0.999935065410494
卡方系数(Chi-Square): 0.0154533630540416
F统计(F-Statistic): 26950.1973188213
约束条件: aa+bb+cc+dd+ee-1 = 1.572435515E-010

参数        最佳估算
----------        -------------
aa        0.154698357748344
bb        0.484572362128209
cc        0.121606254983523
dd        0.119151975959729
ee        0.119971049337439

====== 结果输出 ======

No        实测值y        计算值y
1        10.0409        10.1115843894597
2        34.9618        34.9468605559334
3        27.1349        27.0719491461721
4        2.9538        2.83198073783884
5        1.5114        1.41212191670732
6        2.6463        2.75215083048252
7        9.6078        9.58157118918759
8        1.658        1.56516756455979
9        1.8725        1.76242049883334
10        19.0366        18.9993398425564
11        8.4727        8.59462138062438
12        7.5714        7.6217371923488
2楼2014-04-03 15:42:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

zjs12309

金虫 (小有名气)

引用回帖:
2楼: Originally posted by dingd at 2014-04-03 15:42:26
1stOpt求解:

Variable A,B,C,D,E,Y;
ParameterDomain = ;
Function Y=aa*A+bb*B+cc*C+dd*D+ee*E;
         aa+bb+cc+dd+ee=1;
Data;
A=;
B=;
C=;
D=;
E=;
Y=;


均方差(RMSE):0.0843074888689747
...

thx,这样算出来的离差平方和会是最小的么?
3楼2014-04-04 00:32:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
zjs12309: 金币+20, ★★★很有帮助 2014-04-22 16:56:55
满足你约束条件的前提下是最优的。
4楼2014-04-04 09:02:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjs12309

金虫 (小有名气)

引用回帖:
4楼: Originally posted by dingd at 2014-04-04 09:02:37
满足你约束条件的前提下是最优的。

请问可以把你用的1stOpt共享一下不,我发现我这个版本的按你的代码点了执行计算没反应,只有把下面data下面的A,B,C,D,E及括号去掉才能算,但是算出来的又不一样的结果。然后算法设置那里你是用什么算法和参数计算的?
5楼2014-04-04 12:16:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjs12309

金虫 (小有名气)

引用回帖:
4楼: Originally posted by dingd at 2014-04-04 09:02:37
满足你约束条件的前提下是最优的。

求大神指导1stOpt优化算法及算法参数设置。
6楼2014-04-08 21:20:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

引用回帖:
6楼: Originally posted by zjs12309 at 2014-04-08 21:20:39
求大神指导1stOpt优化算法及算法参数设置。...

缺省的就行啊。
7楼2014-04-08 21:32:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zjs12309

金虫 (小有名气)

引用回帖:
7楼: Originally posted by dingd at 2014-04-08 21:32:50
缺省的就行啊。...

咦?我也是。算出来不一样?

迭代数: 24
计算用时(时:分:秒:微秒): 00:00:01:274
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 0.0830513975226396
残差平方和(SSE): 0.0827704155655621
相关系数(R): 0.999970313926204
相关系数之平方(R^2): 0.999940628733672
决定系数(DC): 0.9999369859082
卡方系数(Chi-Square): 0.0155187430254756
F统计(F-Statistic): 168421.644099965

参数        最佳估算
----------        -------------
aa                 0.158576514284468
bb                 0.510882858121156
cc                 0.112999583577225
dd                 0.123748870450118
ee                 0.0953964477654555

====== 输出结果 =====

No.         Observed Y        Calculated Y
1        10.0409        10.1204243030766
2        34.9618        34.9760570963617
3        27.1349        27.0906629502182
4        2.9538        2.81248038419839
5        1.5114        1.41646455036157
6        2.6463        2.75910095451988
7        9.6078        9.58996520179234
8        1.658        1.56961478416511
9        1.8725        1.76682482132777
10        19.0366        19.003705148002
11        8.4727        8.56907437419647
12        7.5714        7.62535117778403
8楼2014-04-09 10:26:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Philonix

银虫 (初入文坛)

引用回帖:
8楼: Originally posted by zjs12309 at 2014-04-09 10:26:39
咦?我也是。算出来不一样?

迭代数: 24
计算用时(时:分:秒:微秒): 00:00:01:274
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 0.08305139752 ...

是这样子的,1stOpt每次运行,结果都是会变化的,取决于初值(?)还是什么的,但是大体上R^2等参数变化的不大。
与星星为伴
9楼2014-04-09 11:04:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

引用回帖:
8楼: Originally posted by zjs12309 at 2014-04-09 10:26:39
咦?我也是。算出来不一样?

迭代数: 24
计算用时(时:分:秒:微秒): 00:00:01:274
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 0.08305139752 ...

约束不满足:aa+bb+cc+dd+ee=1;
10楼2014-04-09 11:05:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zjs12309 的主题更新
信息提示
请填处理意见