24小时热门版块排行榜    

查看: 515  |  回复: 2

Carrie_XX

铁虫 (初入文坛)

[求助] matlab最小二乘法 已有2人参与

求助:请问在matlab中,可以用最小二乘法求解y=k1*C1^a+k2*C2^b+k3*C1^c中的参数a,b,c,k1,k2,k3吗?
其中,C1=[4.04;4.01;3.88;3.73;3.69;3.33;3.60;2.75;2.89;2.53;1.97;1.79;1.68;1.79;1.22;0.93];
C2=[2.31;2.00;2.19;2.05;2.05;1.95;2.25;1.93;2.17;2.08;1.88;1.64;1.52;1.51;1.28;1.03];
y=[-2.47631;-2.45481;-2.4341;-2.41419;-2.39507;-2.37677;-2.32679;-2.24996;-2.20617;-2.19706;-2.20566;-2.21719;-2.28449;-2.41093;-2.68782;-2.95603];
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhang_gang

金虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
这个应该不能求吧,多项式用最小二乘方法拟合,多项式的阶数要已知呀。

[ 发自小木虫客户端 ]
2楼2015-07-28 18:00:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
Carrie_XX: 金币+10, ★★★★★最佳答案, 嗯嗯 明白了 灰常谢谢 2015-07-29 10:17:14
可以求解的。MATLAB有专门用于求解最小二乘问题的函数lsqnonlin。
不过简便起见,用1stopt软件,代码如下:
CODE:
Variable C1,C2,y;
Function y=k1*C1^a+k2*C2^b+k3*C1^c;
Data;
4.04000000000000        2.31000000000000        -2.47631000000000
4.01000000000000        2        -2.45481000000000
3.88000000000000        2.19000000000000        -2.43410000000000
3.73000000000000        2.05000000000000        -2.41419000000000
3.69000000000000        2.05000000000000        -2.39507000000000
3.33000000000000        1.95000000000000        -2.37677000000000
3.60000000000000        2.25000000000000        -2.32679000000000
2.75000000000000        1.93000000000000        -2.24996000000000
2.89000000000000        2.17000000000000        -2.20617000000000
2.53000000000000        2.08000000000000        -2.19706000000000
1.97000000000000        1.88000000000000        -2.20566000000000
1.79000000000000        1.64000000000000        -2.21719000000000
1.68000000000000        1.52000000000000        -2.28449000000000
1.79000000000000        1.51000000000000        -2.41093000000000
1.22000000000000        1.28000000000000        -2.68782000000000
0.930000000000000        1.03000000000000        -2.95603000000000

计算结果:
均方差(RMSE): 0.0411939983362445
残差平方和(SSE): 0.0271511279828242
相关系数(R): 0.976851818624353
相关系数之平方(R^2): 0.954239475549706
决定系数(DC): 0.95423943455436
卡方系数(Chi-Square): -0.00565378501945285
F统计(F-Statistic): 291.940549593289

原方程过拟合,参数结果不稳定、不唯一:
参数        最佳估算
----------        -------------
k1                 -3.9810461734405
a                  0.463874856031145
k2                 24.5236491353617
b                  0.0187026831926242
k3                 -23.4576701772098
c                  -0.123433176390609

原公式中 k1*C1^a 和k3*C1^c 这两项必然会导致公式过拟合。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2015-07-28 19:51:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 Carrie_XX 的主题更新
信息提示
请填处理意见