24小时热门版块排行榜    

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

zyugiec

金虫 (正式写手)

[求助] matlab如何编写共享参数拟合程序

请问如何用matlab软件编写共享参数拟合(两个函数拟合的参数值要相同),同时还要求限定参数大于0
以下是用1stopt软件编写的,但由于要1.5以上版本才能运行共享参数模型,故只能放弃,想改用matlab软件运行。有没有哪位虫子知道?望能告之,非常感谢!悬赏20金币,聊表谢意!

Parameter k1[0,],k2[0,],k3[0,];
SharedModel;
Variable t,M,G;
Function M=50*k1/(k3-(k1+k2))*(exp(-(k1+k2)*t)-exp(-k3*t)); G=50-M-50*exp(-(k1+k2)*t);
Data;
0        0        0
3        2.288        4.035
7        2.236        6.097
12        2.283        7.961
24        2.26        10.426
30        2.273        11.295
36        2.315        12.35
48        2.25        13.201
60        2.276        14.576
72        2.317        15.043
回复此楼

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

大杂烩 film

» 猜你喜欢

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

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyugiec

金虫 (正式写手)

送鲜花一朵
引用回帖:
2楼: Originally posted by dbb627 at 2012-04-15 09:44:04:
A=;
t=A(:,1);y1=A(:,2);y2=A(:,3);
F=@(k,t);
= lsqcurvefit(F, , t,,,[],[])

初始值在哪改? 是改这3个吗?[1.22 0.08 3.05]??
还有如何看拟合值?谢谢!
4楼2012-04-16 13:24:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyugiec

金虫 (正式写手)

引用回帖:
3楼: Originally posted by dbb627 at 2012-04-15 09:45:34:
初值可能不太合适,你根据经验调一下。

如何限定初始值范围,我要求大于0
5楼2012-04-16 13:33:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyugiec

金虫 (正式写手)

送鲜花一朵
引用回帖:
6楼: Originally posted by dbb627 at 2012-04-16 14:24:58:
= lsqcurvefit(F, , t,,,[],[])
X,k的拟合值
初值
限定初始值范围,大于0

如何看拟合后的y1和y2值?
7楼2012-04-16 15:19:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zyugiec

金虫 (正式写手)

送鲜花一朵
引用回帖:
6楼: Originally posted by dbb627 at 2012-04-16 14:24:58:
= lsqcurvefit(F, , t,,,[],[])
X,k的拟合值
初值
限定初始值范围,大于0

我想进一步限制参数,要求k1>k3>k2,该怎么做?
9楼2012-04-17 13:36:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 zyugiec 的主题更新
信息提示
请填处理意见