24小时热门版块排行榜    

CyRhmU.jpeg
查看: 23375  |  回复: 73
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

dshuanger

木虫 (小有名气)

[求助] matlab非线性拟合模型参数,大神你在哪!

本人非计算模拟专业,小白一枚,但最近需要模拟参数,不知如何运用matlab求参数,顾求助各位大神。     
        模型表达式:
      y=a/E1 +a/E2[1-exp(-x/t)]+a*x/E3            
      其中:x=[2,5,10,15,30,60,120,200,300,550,700];
                 y=[8.66667,10,10.66667,12.66667,13.33333,15,15.33333, 16.66667,17.33333,18.33333,20];
                 a=2
       未知参数:E1,E2,t,E3     
不知道能否通过matlab拟合参数
请各位大神能鼎力相助,最好能给出代码或者计算方法,谢谢大家!

[ Last edited by dshuanger on 2013-11-5 at 11:06 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
39楼: Originally posted by 梦落在草地上 at 2015-01-22 10:11:12
忽略38楼:
重启程序重新运行了下:
Parameters X1, X2, X3, Y;
Maximum = Y;
Function Y=355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2;

在Pa ...

Y本身是目标函数,限定Y在[1,100],又求Y的最大值,那Y最大值不就是100么?
那么,不就等于是 求
Y=355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2=100
这个三元方程的解么?那么就是一个方程,三个未知数,肯定有无穷多个解。
作为验证我的说法,以下仍然按照最优化问题来求解,给出代码:
Parameters X1[1,7], X2[1,7], X3[1,7];
Maximum = Y;
Function Y=(355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2);
       (355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2)>=1;
       (355.45-38.35*X1-13.99*X2-85.78*X3+0.825*X1*X2+6.234*X1*X3+1.959*X2*X3+1.278*X1^2+0.272*X2^2+6.59*X3^2)<=100;

可见解显然是无穷多的,以下给出三组:

目标函数值(最大): 100
X1: 5.55127097786439
X2: 3.75469585593139
X3: 1.48118209473375

目标函数值(最大): 100
X1: 5.54702430245763
X2: 5.92326853055975
X3: 4.89868124102268

目标函数值(最大): 100
X1: 6.58142328449946
X2: 2.51431683205087
X3: 4.83067723055093

» 本帖已获得的红花(最新10朵)

MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
41楼2015-01-22 10:20:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 74 个回答

jerkwin

专家顾问 (正式写手)

不劳matlab, origin, 1stopt足矣
matlab非线性拟合模型参数,大神你在哪!
2013-11-04_212307.png

2楼2013-11-05 11:23:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主


dingd: 金币+1, 谢谢分享。 2013-11-05 16:37:58
y=2/e1 +2/e2/(1-exp(-x/t))+a*x/3;    // a=2
x=[2,5,10,15,30,60,120,200,300,550,700];
y=[8.66667,10,10.66667,12.66667,13.33333,15,15.33333, 16.66667,17.33333,18.33333,20];

相关系数(R): 1
相关系数之平方(R^2): 1
决定系数(DC): 0.999999999996653
卡方系数(Chi-Square): 1.64243431014082E-11

参数          最佳估算
----------        --------------
e1  =1.2090897803241
e2  =3.11591327892529
t   =0.00209072546506921

====== 输出结果 =====
No.         Observed y        Calculated y
1        8.66667            8.66666365993411
2        10        9.99999365993411
3        10.66667        10.6666636599341
4        12.66667        12.6666636599341
5        13.33333        13.3333236599341
6        15        14.9999936599341
7        15.33333        15.3333236599341
8        16.66667        16.6666636599341
9        17.33333        17.3333236599341
10        18.33333        18.3333236599341
11        20        19.9999936599341
3楼2013-11-05 11:54:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

feixiaolin

荣誉版主 (文坛精英)

优秀版主

你的 “+a/E2[1-exp(-x/t)]” 再明确一下为好。
4楼2013-11-05 11:56:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见