24小时热门版块排行榜    

查看: 3617  |  回复: 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

金虫 (正式写手)

【答案】应助回帖


感谢参与,应助指数 +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的回帖
查看全部 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

金虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★
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的回帖

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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 265求调剂 +3 Jack?k?y 2026-03-17 3/150 2026-03-21 03:17 by JourneyLucky
[考研] 材料专硕英一数二306 +7 z1z2z3879 2026-03-18 7/350 2026-03-20 23:48 by JourneyLucky
[考研] 求调剂,一志愿:南京航空航天大学大学 ,080500材料科学与工程学硕,总分289分 +4 @taotao 2026-03-19 4/200 2026-03-20 22:14 by JourneyLucky
[考研] 316求调剂 +5 梁茜雯 2026-03-19 5/250 2026-03-20 21:26 by 你好你好666
[考研] 265求调剂 +12 梁梁校校 2026-03-19 13/650 2026-03-20 21:01 by 无际的草原
[考研] 260求调剂 +3 朱芷琳 2026-03-20 3/150 2026-03-20 20:35 by 学员8dgXkO
[考研] 261求B区调剂,科研经历丰富 +3 牛奶很忙 2026-03-20 4/200 2026-03-20 19:34 by JourneyLucky
[考研] 281求调剂(0805) +14 烟汐忆海 2026-03-16 25/1250 2026-03-20 15:47 by yuncha
[考研] 招收调剂硕士 +4 lidianxing 2026-03-19 12/600 2026-03-20 12:25 by lidianxing
[考博] 招收博士1-2人 +3 QGZDSYS 2026-03-18 3/150 2026-03-20 11:58 by 呱呱呱呱叫
[考研] 一志愿中国海洋大学,生物学,301分,求调剂 +5 1孙悟空 2026-03-17 6/300 2026-03-19 23:46 by zcl123
[考研] 0703化学调剂 +10 妮妮ninicgb 2026-03-15 14/700 2026-03-19 22:59 by 学员8dgXkO
[考研] 320求调剂0856 +3 不想起名字112 2026-03-19 3/150 2026-03-19 22:53 by 学员8dgXkO
[考研] 085600材料与化工调剂 324分 +10 llllkkkhh 2026-03-18 12/600 2026-03-19 14:33 by llllkkkhh
[考研] 346求调剂[0856] +3 WayneLim327 2026-03-16 6/300 2026-03-19 11:21 by WayneLim327
[考研] 0817调剂 +3 没有答案_ 2026-03-14 3/150 2026-03-19 09:51 by Xu de nuo
[考研] 0854可跨调剂,一作一项核心论文五项专利,省、国级证书40+数一英一287 +8 小李0854 2026-03-16 8/400 2026-03-18 14:35 by 搏击518
[考研] 302求调剂 +4 小贾同学123 2026-03-15 8/400 2026-03-17 10:33 by 小贾同学123
[考研] 333求调剂 +3 文思客 2026-03-16 7/350 2026-03-16 18:21 by 文思客
[考研] 327求调剂 +6 拾光任染 2026-03-15 11/550 2026-03-15 22:47 by 拾光任染
信息提示
请填处理意见