24小时热门版块排行榜    

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

cheng1378653

新虫 (初入文坛)

[求助] 用matlab里的nlinfit如何拟合分段函数

Sample Text
t=[0 0.0833 0.25 0.5 1 2];
c=[0 0.0833 1.2491 1.7025 0.2623 0.0757];
函数形式为c=A*(1-exp(-K1*t))       0<=t<=T
                c=A*(1-exp(-k1*T))*exp(-k2*(t-T))     t>=T
如何用脚本式或是函数式M文件拟合,求出A,k1,k2,(如果可以请划一下图形)
回复此楼

» 猜你喜欢

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

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

lgycjpcqu

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★
cheng1378653: 回帖置顶 2013-03-29 18:09:29
cheng1378653: 金币+2, 有帮助 2013-03-30 22:02:11
fegg7502: 金币+2, 应助指数+1, 鼓励交流 2013-04-02 09:24:40
还是2楼的结果好,用刚才我用1sopt运算的结果作为初始值,用MATLAB进行拟合得到结果和1楼一致,看来非线性最优化还是1sopt强大啊
A =
-0.0367
k1 =
-14.2282
k2 =
3.7015
T =
0.3179
你需要MATLAB 代码的话如下
clear
tic
fun1=inline('beta(1).*(1-exp(-beta(2).*t))','beta','t');
fun2=inline('beta(1).*(1-exp(-beta(2).*beta(4)))*exp(-beta(3)*(t-beta(4)))','beta','t');
fun=@(beta,t)((t<0.5).*fun1(beta,t)+(t>=0.5).*fun2(beta,t));
t=[0 0.0833 0.25 0.5 1 2];
c=[0 0.0833 1.2491 1.7025 0.2623 0.0757];
beta=nlinfit(t,c,fun,[-0.05  -6.8 3.7 0.5]);
A=beta(1);
k1=beta(2);
k2=beta(3);
T=beta(4);
warning off all
c1=beta(1).*(1-exp(-beta(2).*t(1:4)));
c2=beta(1).*(1-exp(-beta(2).*beta(4))).*exp(-beta(3).*(t(4:6)-beta(4)));
cfit(1:4)=c1;
cfit(4:6)=c2;
plot(t,c,'*')
hold on;
plot(t,cfit,'r-')
toc
4楼2013-03-29 10:47:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2013-04-02 09:24:49
1stOpt更简单:
CODE:
Function c=if(t Data;
t=[0 0.0833 0.25 0.5 1 2];
c=[0 0.0833 1.2491 1.7025 0.2623 0.0757];

均方差(RMSE): 0.0282872879644411
残差平方和(SSE): 0.00480102396229929
相关系数(R): 0.999311354215736
相关系数之平方(R^2): 0.998623182664489
决定系数(DC): 0.998184285936899
卡方系数(Chi-Square): 0.0580621164226486
F统计(F-Statistic): 367.165006987895

参数        最佳估算
----------        -------------
t1        0.317859946002189
a        -0.0366738585259589
k1        -14.2282073650289
k2        3.70145325521581

jv1.jpg

2楼2013-03-29 08:50:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lgycjpcqu

金虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +1
fegg7502: 金币+1, 鼓励交流 2013-04-02 09:24:59
引用回帖:
2楼: Originally posted by dingd at 2013-03-29 08:50:59
1stOpt更简单:

Function c=if(t<T1,A*(1-exp(-K1*t)),A*(1-exp(-k1*T1))*exp(-k2*(t-T1)));
Data;
t=;
c=;


均方差(RMSE): 0.0282872879644411
残差平方和(SSE): 0.00480102396229929
相关系数(R): ...

为啥我的1sopt运算结果不一致呢?
参数        最佳估算
----------        -------------
t1                 0.500000049987681
a                  -0.0568673833778535
k1                 -6.86274581292278
k2                 3.70079073587775
不是说1sopt得到的是唯一解吗?
3楼2013-03-29 10:38:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)

【答案】应助回帖


fegg7502: 金币+1, 应助指数+1, 3ks 2013-04-02 09:25:13
引用回帖:
3楼: Originally posted by lgycjpcqu at 2013-03-29 10:38:11
为啥我的1sopt运算结果不一致呢?
参数        最佳估算
----------        -------------
t1                 0.500000049987681
a                  -0.0568673833778535
k1                 -6.86274581292278
k2                 3.70079073587775
...

如果你用的1stOpt老版本(如1.5),可是如下代码:
CODE:
Variable t,c;
Function c=if(t Data;
0        0
0.0833        0.0833
0.25        1.2491
0.5        1.7025
1        0.2623
2        0.0757

5楼2013-03-29 11:15:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 初始318分求调剂(有工作经验) +3 1911236844 2026-03-17 3/150 2026-03-21 02:33 by JourneyLucky
[考研] 288求调剂 +16 于海海海海 2026-03-19 16/800 2026-03-20 22:28 by JourneyLucky
[考研] 287求调剂 +7 晨昏线与星海 2026-03-19 8/400 2026-03-20 22:19 by JourneyLucky
[考研] 一志愿中南化学(0703)总分337求调剂 +8 niko- 2026-03-19 9/450 2026-03-20 21:57 by luoyongfeng
[考研] 290求调剂 +7 ^O^乜 2026-03-19 7/350 2026-03-20 21:43 by JourneyLucky
[考研] 289求调剂 +6 怀瑾握瑜l 2026-03-20 6/300 2026-03-20 20:30 by 学员8dgXkO
[考研] 一志愿西安交通大学 学硕 354求调剂 +3 我想要读研究生 2026-03-20 3/150 2026-03-20 20:13 by JourneyLucky
[考研] 材料学硕318求调剂 +5 February_Feb 2026-03-19 5/250 2026-03-19 23:51 by 23Postgrad
[考研] 复试调剂 +4 z1z2z3879 2026-03-14 6/300 2026-03-19 17:18 by fei626-918
[考研] 085601材料工程专硕求调剂 +10 慕寒mio 2026-03-16 10/500 2026-03-19 15:26 by 丁丁*
[考研] 材料工程专硕调剂 +5 204818@lcx 2026-03-17 6/300 2026-03-18 22:55 by 204818@lcx
[考研] 311求调剂 +11 冬十三 2026-03-15 12/600 2026-03-18 14:36 by 星空星月
[考研] 0703化学336分求调剂 +6 zbzihdhd 2026-03-15 7/350 2026-03-18 09:53 by zhukairuo
[考研] 326求调剂 +5 上岸的小葡 2026-03-15 6/300 2026-03-17 17:26 by ruiyingmiao
[考博] 26申博 +4 八6八68 2026-03-16 4/200 2026-03-17 13:00 by 轻松不少随
[考研] 考研调剂 +3 淇ya_~ 2026-03-17 5/250 2026-03-17 09:25 by Winj1e
[考研] 一志愿,福州大学材料专硕339分求调剂 +3 木子momo青争 2026-03-15 3/150 2026-03-17 07:52 by laoshidan
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
[考研] 0854控制工程 359求调剂 可跨专业 +3 626776879 2026-03-14 9/450 2026-03-16 17:42 by 626776879
[考研] 26考研一志愿中国石油大学(华东)305分求调剂 +3 嘉年新程 2026-03-15 3/150 2026-03-15 13:58 by 哈哈哈哈嘿嘿嘿
信息提示
请填处理意见