24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1877  |  回复: 6

dlionel

银虫 (正式写手)

[求助] 1stopt 非线性约束拟合已有1人参与

请教大家一个关于多非线性约束下拟合的问题,

1stopt 非线性约束拟合

自变量: theta
应变量:V
参数: c11, c12, c13, c33, c44
常数: ro

1stopt (v1.5) 的代码如下:

Parameter c11=53.872,c12=10,c13=15,c33=47.424,c44=19.968;
Constant ro=2080;
Function y=sqrt((c44+c11*sin(x)^2+c33*cos(x)^2+sqrt(((c11-c44)^2*sin(x)^2+(c44-c33)^2*cos(x)^2)^2+(c13+c44)^2*sin(2*x)^2))/(2*ro));
         c11>c12;
         c12>0;
         c44>0;
         (c11+c12)*c33>2*c13^2;
Data;
0                              22.8
0.382227106186758     22.2
0.911061869541040        29.2
1.22696646415201        25.0
1.54461638801498        22.8
1.57079632679490        25.9

拟合结果:
迭代数: 16
计算用时(时:分:秒:微秒): 00:00:00:63
优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法
计算结束原因: 达到收敛判断标准
均方差(RMSE): 23.7738301499779
残差平方和(SSE): 3391.17
相关系数(R): 0
相关系数之平方(R^2): 0
决定系数(DC): -95.2443593018306
卡方系数(Chi-Square): 130.843543616615
F统计(F-Statistic): 0

参数        最佳估算
----------        -------------
c11                53.872
c12                10
c13                15
c33                47.424

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

No        实测值y        计算值y
1        22.8        1.0000000
2        22.2        1.0000000
3        29.2        1.0000000
4        25        1.0000000
5        22.8        1.0000000
6        25.9        1.0000000

参数拟合结果明显是错误的,而且没有参数c44的估算,计算值y都是1.00。
请问是多个约束条件命令不对吗?
回复此楼

» 猜你喜欢

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

Good times, hard times, but never bad times.
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
CODE:
Constant ro=2080;
Parameters c11[10,],c12[0,],c44[0,];
Variable x,y;
Function y=sqrt((c44+c11*sin(x)^2+c33*cos(x)^2+sqrt(((c11-c44)^2*sin(x)^2+(c44-c33)^2*cos(x)^2)^2+(c13+c44)^2*sin(2*x)^2))/(2*ro));
Data;
0                              22.8
0.382227106186758     22.2
0.911061869541040        29.2
1.22696646415201        25.0
1.54461638801498        22.8
1.57079632679490        25.9

¾ù·½²î(RMSE): 1.64771329728459
²Ð²îƽ·½ºÍ(SSE): 16.2897546602908
Ïà¹ØÏµÊý(R): 0.735295008053769
Ïà¹ØÏµÊý֮ƽ·½(R^2): 0.540658748868792
¾ö¶¨ÏµÊý(DC): 0.537682569595835
¿¨·½ÏµÊý(Chi-Square): 0.329591175354763
Fͳ¼Æ(F-Statistic): 4.70812275220068

²ÎÊý        ×î¼Ñ¹ÀËã
----------        -------------
c11                1570.27237574273
c44                2.01763943470314E-9
c33                -1401.85923757196
c13                2126665.49354796

====== ½á¹ûÊä³ö =====

No        ʵ²âÖµy        ¼ÆËãÖµy
1        22.8        21.7271513
2        22.2        24.5656304
3        29.2        27.1722123
4        25        25.7695871
5        22.8        24.3644782
6        25.9        24.3537906


建议你看看该软件的指导手册:http://muchong.com/bbs/viewthread.php?tid=4586018&fpage=1&target=blank
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2015-01-06 11:19:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★
dlionel: 金币+5, ★★★很有帮助 2015-01-06 13:52:09
修正乱码:
CODE:
Constant ro=2080;
Parameters c11[10,],c12[0,],c44[0,];
Variable x,y;
Function y=sqrt((c44+c11*sin(x)^2+c33*cos(x)^2+sqrt(((c11-c44)^2*sin(x)^2+(c44-c33)^2*cos(x)^2)^2+(c13+c44)^2*sin(2*x)^2))/(2*ro));
Data;
0                              22.8
0.382227106186758     22.2
0.911061869541040        29.2
1.22696646415201        25.0
1.54461638801498        22.8
1.57079632679490        25.9

均方差(RMSE): 1.64771329728459
残差平方和(SSE): 16.2897546602908
相关系数(R): 0.735295008053769
相关系数之平方(R^2): 0.540658748868792
决定系数(DC): 0.537682569595835
卡方系数(Chi-Square): 0.329591175354763
F统计(F-Statistic): 4.70812275220068

参数        最佳估算
----------        -------------
c11                1570.27237574273
c44                2.01763943470314E-9
c33                -1401.85923757196
c13                2126665.49354796

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

No        实测值y        计算值y
1        22.8        21.7271513
2        22.2        24.5656304
3        29.2        27.1722123
4        25        25.7695871
5        22.8        24.3644782
6        25.9        24.3537906
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
3楼2015-01-06 11:20:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dlionel

银虫 (正式写手)

引用回帖:
3楼: Originally posted by 月只蓝 at 2015-01-06 11:20:25
修正乱码:
Constant ro=2080;
Parameters c11,c12,c44;
Variable x,y;
Function y=sqrt((c44+c11*sin(x)^2+c33*cos(x)^2+sqrt(((c11-c44)^2*sin(x)^2+(c44-c33)^2*cos(x)^2)^2+(c13+c44)^2*sin(2*x)^2))/(2*ro ...

多谢版主,手册确实很有帮助。

请问约束 (c11+c12)*c33>2*c13^2 怎么没有在你的代码里给出啊?应该怎么加上去呢?

根据你的回复,我又修改了一下原问题:c12是不需要拟合的,拟合函数形式不变,
自变量:theta
应变量:V
拟合参数:c11, c13, c33, c44
已知常数:c12,ro
约束条件:c11>c12;
               c33>0;
               c44>0;
               (c11+c12)*c33>2*c13^2;
Good times, hard times, but never bad times.
4楼2015-01-06 13:59:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dlionel

银虫 (正式写手)

引用回帖:
4楼: Originally posted by dlionel at 2015-01-06 13:59:39
多谢版主,手册确实很有帮助。

请问约束 (c11+c12)*c33>2*c13^2 怎么没有在你的代码里给出啊?应该怎么加上去呢?

根据你的回复,我又修改了一下原问题:c12是不需要拟合的,拟合函数形式不变,
自变量: ...

且已知常数
ro = 2080
c12 = 850000

参数initial guess
c11 = 1384531.2
c13 = 8000000
c33 = 1081267.2
c44 = 191692.8
Good times, hard times, but never bad times.
5楼2015-01-06 14:08:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
dlionel: 金币+20, ★★★很有帮助 2015-02-04 09:10:31
引用回帖:
5楼: Originally posted by dlionel at 2015-01-06 14:08:04
且已知常数
ro = 2080
c12 = 850000

参数initial guess
c11 = 1384531.2
c13 = 8000000
c33 = 1081267.2
c44 = 191692.8...

1stopt不需要给出猜值的。
如果要把所有不等式约束考虑进去,就把原问题构建成最小二乘问题的目标函数,再最优化计算,即可,代码参见手册中的MinFunction
最小二乘问题形式的目标函数:(y计算值1-y实验值1)^2+(y计算值2-y实验值2)^2+...+(y计算值n-y实验值n)^2,你的数据只有6组,该目标函数还是很好构造书写的。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
6楼2015-01-06 15:30:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dsp410327

金虫 (正式写手)

楼主做极化SAR ,协方差矩阵分析,复数?
7楼2018-09-24 16:19:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 dlionel 的主题更新
信息提示
请填处理意见