24小时热门版块排行榜    

Znn3bq.jpeg
查看: 4416  |  回复: 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的回帖

dingd

铁杆木虫 (职业作家)

1.5版好像还没有微分方程计算功能,换个新的吧,5.0都快出来了。
7楼2011-12-19 22:12:17
已阅   回复此楼   关注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的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 290求调剂 +5 柯淮然 2026-04-12 7/350 2026-04-12 05:04 by labixiaoqiao
[考研] 求调剂 +6 小聂爱学习 2026-04-11 9/450 2026-04-11 21:20 by 蓝云思雨
[考研] 366求调剂 +7 不知名的小卅 2026-04-11 7/350 2026-04-11 16:45 by PeggyPeng17
[考研] 求调剂,一志愿大连理工大学354分 +5 雨声余生 2026-04-11 6/300 2026-04-11 16:12 by 雨声余生
[考研] 化工求调剂! +35 RichLi_ 2026-04-06 35/1750 2026-04-11 11:02 by zhq0425
[考研] 311求调剂 +13 xyp想读书 2026-04-10 14/700 2026-04-11 09:41 by 猪会飞
[考研] 22408调剂求助 +7 毂12 2026-04-09 9/450 2026-04-11 09:23 by 哦哦123
[材料工程] 材料调剂推荐 +8 蛋糕x2 2026-04-07 8/400 2026-04-10 23:13 by Ftglcn90
[考研] 调剂 +19 小张ZA 2026-04-10 20/1000 2026-04-10 22:08 by 猪会飞
[考研] 人工智能320调剂08工类还有机会吗 +11 振—TZ 2026-04-10 11/550 2026-04-10 21:51 by blankyung
[考研] 307求调剂 +8 tzq94092 2026-04-10 8/400 2026-04-10 17:33 by 286640313
[考研] 一志愿沪9,326生物学求相关专业调剂 +4 刘墨墨 2026-04-09 4/200 2026-04-10 12:07 by pengliang8036
[考研] 求调剂 +11 翩翩一书生 2026-04-09 13/650 2026-04-10 10:27 by liuhuiying09
[考研] 一志愿厦大生物学332求调剂 +10 池池池池池池 2026-04-08 10/500 2026-04-09 17:10 by 独醉梦孤城
[考研] 328求调剂 +17 lftmya 2026-04-07 18/900 2026-04-09 08:05 by 5268321
[考研] 材料科学与工程320求调剂,080500 +12 黄瓜味薯片 2026-04-06 12/600 2026-04-08 16:26 by luoyongfeng
[考研] 考研调剂 +3 Wwwwwww哇 2026-04-06 3/150 2026-04-06 20:55 by lbsjt
[考研] 生物与医药求调剂 +7 heguanhua 2026-04-05 8/400 2026-04-06 18:41 by macy2011
[考研] 081200-11408-276学硕求调剂 +5 崔wj 2026-04-05 5/250 2026-04-06 15:40 by lin-da
[考研] 319求调剂 +3 handrui 2026-04-05 3/150 2026-04-06 09:33 by jp9609
信息提示
请填处理意见