24小时热门版块排行榜    

Znn3bq.jpeg
查看: 4441  |  回复: 12
本帖产生 1 个 计算强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

258190169

铜虫 (小有名气)

[求助] matlab-常微分方程参数估计

初始数据浓度和时间
t=[0,10,30,50,70,90,110,130,150,160];
c=[0,0.23211,0.45906,0.68601,0.92328,1.21213,1.32561,1.34624,1.39782,1.398];
微分方程,dc/dt=[4.41/96485-(4.41*k+L*4.41/96485)c]/(1+4.41*k*t)

要求: 1.得到拟合参数:k 和L 以及相对偏差
       2.得到拟合曲线和数据点的图
       3.最好附上院程序
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

258190169

铜虫 (小有名气)

送鲜花一朵
引用回帖:
: Originally posted by dingd at 2011-12-17 09:52:26:
用1stOpt试试:
[code]
Variable t,c;
ODEFunction c'=(4.41/96485-(4.41*k+L*4.41/96485)*c)/(1+4.41*k*t);
Data;
0        0
10        0.23211
30        0.45906
50        0.68601
70        0.92328
90        1.21213
110        1.32561
130        1. ...

多谢大侠
12楼2011-12-20 19:54:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

258190169

铜虫 (小有名气)

本人编写的程序如下但是无法运行,由于是新手,希望高手帮忙调试一下:
function PenicilliumEst
clear all;
t=[0,10,30,50,70,90,110,130,150,160];
y=[0,0.23211,0.45906,0.68601,0.92328,1.21213,1.32561,1.34624,1.39782,1.398];
y0=0;

% Nonlinear least square estimate using lsqnonlin()
beta0=[0.005 0.001];
lb=[0 0];ub=[inf inf];
[beta,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@Func,beta0,lb,ub,[],t,y);         
ci = nlparci(beta,residual,jacobian);

% =======================================
function f = Func(beta,t,y,y0)        % Define objective function
tspan = [0  max(x)];
[tt yy] = ode45(@ModelEqs,tspan,y0,[],beta);
yc= spline(tt,yy,x);
f1=y-yc
% ==================================
function dydt = ModelEqs(t,y,beta)          % Model equations
dydt = [4.41/96485-(4.41*beta(1)+beta(2)*4.41/96485)*y]/(1+4.41*beta(1)*t)

% result
fprintf('\n Estimated Parameters by Lsqnonlin():\n')
fprintf('\t k1 = %.4f ± %.4f\n',beta(1),ci(1,2)-beta(1))
fprintf('\t k2 = %.4f ± %.4f\n',beta(2),ci(2,2)-beta(2))
fprintf('  The sum of the residual squares is: %.1e\n\n',sum(residual.^2))

% plot of fit results
tspan = [0  max(t)];
[tt yc] = ode45(@modeleqs,tspan,c0,[],beta);
tc=linspace(0,max(t),200);
yc = spline(tt,yc,tc);
plot(t,c,'ro',tc,yca,'r-');
hold on
xlabel('Time');
ylabel('Concentration');
hold off
2楼2011-12-16 16:49:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
258190169(金币+20): 多谢大侠 你的QQ是多少可以和你联系一下嘛 2011-12-16 22:12:03
cenwanglai(金币+5, 计算强帖+1): 谢谢给予帮助~ 2011-12-20 09:07:46
引用回帖:
2楼: Originally posted by 258190169 at 2011-12-16 16:49:37:
本人编写的程序如下但是无法运行,由于是新手,希望高手帮忙调试一下:
function PenicilliumEst
clear all;
t=[0,10,30,50,70,90,110,130,150,160];
y=[0,0.23211,0.45906,0.68601,0.92328,1.21213,1.32561, ...

CODE:
function PenicilliumEst
clear all;
t=[0,10,30,50,70,90,110,130,150,160];
y=[0,0.23211,0.45906,0.68601,0.92328,1.21213,1.32561,1.34624,1.39782,1.398];
y0=0;

% Nonlinear least square estimate using lsqnonlin()
beta0=[0.001 0.001];
lb=[0 0];ub=[inf inf];
[beta,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@Func,beta0,lb,ub,[],t,y,y0);         
ci = nlparci(beta,residual,jacobian);
beta
% result
fprintf('\n Estimated Parameters by Lsqnonlin():\n')
fprintf('\t k1 = %.4f ± %.4f\n',beta(1),ci(1,2)-beta(1))
fprintf('\t k2 = %.4f ± %.4f\n',beta(2),ci(2,2)-beta(2))
fprintf('  The sum of the residual squares is: %.1e\n\n',sum(residual.^2))

% plot of fit results
tspan = [0  max(t)];
[tt yc] = ode45(@ModelEqs,tspan,y0,[],beta);
tc=linspace(0,max(t),200);
yca = spline(tt,yc,tc);
plot(t,y,'ro',tc,yca,'r-');
hold on
xlabel('Time');
ylabel('Concentration');
hold off
% =======================================
function f1 = Func(beta,t,y,y0)        % Define objective function
tspan =t;
[tt yy] = ode45(@ModelEqs,tspan,y0,[],beta);
yc= spline(tt,yy,t);
f1=y-yc;
% ==================================
function dydt = ModelEqs(t,y,beta)          % Model equations
dydt = (4.41/96485-(4.41*beta(1)+beta(2)*4.41/96485)*y)/(1+4.41*beta(1)*t);

改的可以运行了,但是初值不合适
The more you learn, the more you know, the more you know, and the more you forget. The more you forget, the less you know. So why bother to learn.
3楼2011-12-16 17:31:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dingd

铁杆木虫 (职业作家)


dbb627(金币+1): 感谢参与 2011-12-17 11:40:34
用1stOpt试试:
CODE:
Variable t,c;
ODEFunction c'=(4.41/96485-(4.41*k+L*4.41/96485)*c)/(1+4.41*k*t);
Data;
0        0
10        0.23211
30        0.45906
50        0.68601
70        0.92328
90        1.21213
110        1.32561
130        1.34624
150        1.39782
160        1.398

均方差(RMSE): 0.272257391318038
残差平方和(SSE): 0.66711678414573
相关系数(R): 0.932733204157737
相关系数之平方(R^2): 0.869991230138359
决定系数(DC): 0.576237758605965

参数                  最佳估算
--------------------        -------------
k        -2.32798002359073
l        514537.340812352


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

4楼2011-12-17 09:52:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿沪9,326求生物学调剂 +12 刘墨墨 2026-04-13 12/600 2026-04-18 23:31 by 路病情
[考研] 求调剂 +3 苦命人。。。 2026-04-18 3/150 2026-04-18 20:54 by 张zhihao
[考研] 化学070300 求调剂 +29 哈哈哈^_^ 2026-04-12 29/1450 2026-04-18 15:56 by Equinoxhua
[考研] 收到复试调剂但是去不了 +8 小蜗牛* 2026-04-16 8/400 2026-04-18 11:15 by zixin2025
[考研] 260求调剂 +4 Zyt1314520.. 2026-04-17 5/250 2026-04-18 08:28 by babysonlkd
[考博] 申博/考博 +3 啃面包的小书虫 2026-04-17 4/200 2026-04-17 23:54 by 阳阳阳^_^
[考研] 294求调剂 +14 淡然654321 2026-04-15 14/700 2026-04-16 21:01 by lpl364211
[考研] 291求调剂 +11 关忆北. 2026-04-14 11/550 2026-04-16 15:18 by jiahl2024
[考研] 297,工科调剂?河南农业大学本科 +14 河南农业大学-能 2026-04-14 14/700 2026-04-16 14:41 by dingyanbo1
[基金申请] RY:中国产出的科学垃圾论文,绝对数量和比例都世界第一 +7 zju2000 2026-04-14 18/900 2026-04-16 11:36 by 欢乐颂叶蓁
[考研] 279学硕食品专业求调剂院校 20+7 孤独的狼爱吃羊 2026-04-12 29/1450 2026-04-16 09:00 by screening
[考研] 0854调剂 +13 长弓傲 2026-04-12 16/800 2026-04-15 13:45 by fenglj492
[考研] 297工科调剂? +14 河南农业大学-能 2026-04-13 15/750 2026-04-15 13:25 by 黑科技矿业
[考研] 考研调剂 +13 长弓傲 2026-04-13 14/700 2026-04-14 14:44 by zs92450
[考研] 2026硕士调剂_能动_河南农业大学 +4 河南农业大学-能 2026-04-12 4/200 2026-04-13 22:01 by bljnqdcc
[考研] B区0809 ,数一英一,290 求调剂 +3 泠潍1111 2026-04-12 4/200 2026-04-13 20:35 by 学员JpLReM
[考研] 302求调剂 +10 易!? 2026-04-13 10/500 2026-04-13 19:04 by lbsjt
[考研] 297工科,求调剂? +13 河南农业大学-能 2026-04-12 13/650 2026-04-13 14:12 by dingyanbo1
[考研] +10 李多米lee. 2026-04-12 11/550 2026-04-12 22:58 by yuyin1233
[考研] 一志愿浙大生物325分求调剂 +9 zysheng 2026-04-12 9/450 2026-04-12 22:31 by yuyin1233
信息提示
请填处理意见