24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1536  |  回复: 13

vs570588

木虫 (正式写手)

[求助] 求高手,拟合求参数

function M=Monod(c,Y)
M= -c(1).*Y./(Y+c(2))


Y=[255.55 246.44 237.28 228.36 136.08 114 99.16 82.33 69.4 56.94 42.31 0];
x=[-0.78 -2.2268 -5.2033 -6.1377 -8.6137 -8.6428 -8.4792 -8.1692 -7.7128 -7.11 -6.3608 -1.9];
x=x/214.63;
c0=[0.03 0.3];beta=nlinfit(Y,x ,’Monod’,c0);
为了参数c(1),c(2),这个小程序快把我折磨死了。现在出来NLINFIT did NOT converge. Returning results from last iteration.
beta =

    0.0271
   -8.1892
按道理,-8.1892不合理。出来的参数应该和我预估的差不多。大家看看,这是怎样回事?
回复此楼

» 猜你喜欢

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

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

lidaxue

木虫 (正式写手)

之乎者也

【答案】应助回帖


sunyang1988(金币+1): 谢谢交流 2011-06-01 18:34:14
楼主的函数文件里面,好像没有涉及到x的啊,还有你的x=x/214.63;啥意思?
Comeon!
2楼2011-05-31 10:06:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vs570588

木虫 (正式写手)

引用回帖:
Originally posted by lidaxue at 2011-05-31 10:06:39:
楼主的函数文件里面,好像没有涉及到x的啊,还有你的x=x/214.63;啥意思?

谢谢你回复,这是我的问题,你看看,有啥办法能解决?ds/dt  =  -q*S*X/(k+S)这里未知参数是q和K, q是比最大降解速率,K是半饱和常数,X是污泥浓度214.63,这个值是定值。S是污染物的浓度, t肯定就是时间了。我具体试验是隔一段时间,取一个样品测出S,所以我最原始数据是
t=[0 2 7 9 19 22 24 26 28 30 32 40];
S=[255.55 246.44 237.28 228.36 136.08 114 99.16 82.33 69.4 56.94 42.31 0];
就那这一组数据来拟合出上面微分方程里中的未知参数。你看能用啥好办法?另外,我也看宋新山《matlab在环境科学中的应用》,上面也用个例子,但是有个例子直接给出了一系列ds/dt的值,并且这些值呈递增。但你也知道,实际试验不会出现这种理想情况。所以我求ds/dt值是用多项式拟合,求各个点的导数,肯定这样误差大。但我实在想不出好办法。也有人说用有限差分法,求出数值解,再代入,求最优化参数。
3楼2011-05-31 16:42:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lidaxue

木虫 (正式写手)

之乎者也

【答案】应助回帖


sunyang1988(金币+1): 谢谢交流 2011-06-01 18:34:23
vs570588(金币+1): 谢谢你了 2011-06-05 20:54:19
楼主你好,看了你的问题,其实不是很难,请楼主参考我给你的ppt,里面有个问题和你的问题比较相似,时间挺紧,还请楼主多多努力!
Comeon!
4楼2011-05-31 18:47:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vs570588

木虫 (正式写手)

引用回帖:
Originally posted by lidaxue at 2011-05-31 18:47:03:
楼主你好,看了你的问题,其实不是很难,请楼主参考我给你的ppt,里面有个问题和你的问题比较相似,时间挺紧,还请楼主多多努力!

你好,我用你给介绍的,参考别人写的程序,用数值解求参数,程序写的很繁琐,你能帮我改改吗?另外,现在运行不下去,提示说divided by zero.你能给看看,怎样把数据处理就能好些?
S=dsolve(‘Dy=-k1*y*214.63/(y+k2)’,’y(0)= 255.55’)
simplify(S)                                        %微分方程积分,求出来式子相当繁琐


function monodfit2
clear all;
t= [0 2 7 9 19 22 24 26 28 30 32 40]’;
c=[255.55 246.44 237.28 228.36 136.08 114 99.16 82.33 69.4 56.94 42.31 0]’;
[y_row,y_col]=size(c);
beta0=[0.03,0.3];
c0=255.55;
lb=[0 0];ub=[inf inf];
[beta,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@seqfun,beta0,lb,ub,[],t,c,y_col,c0);
ci = nlparci(beta,residual,jacobian);
function y = seqfun(beta,t,c,y_col,c0)      % Objective function
tspan = [0  max(t)];
[tt yy] = ode45(@modeleqs,tspan,c0,[],beta);
for col = 1:y_col
    yc(:,col) = spline(tt,yy(:,col),t);
end
y=[c(:,1)-yc(:,1)];

function dydt = modeleqs(t,y,beta)       % Model equation
dydt=beta(2)*lambertw(1/beta(2)*exp(-1/100*(21463*t*beta(1)-25555-100*beta(2)*log(19)-100* beta(2)*log(269)+200* beta(2)*log(2)+100* beta(2)*log(5))/ beta(2)));
5楼2011-06-02 15:08:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

t= [0 2 7 9 19 22 24 26 28 30 32 40]';
c=[255.55 246.44 237.28 228.36 136.08 114 99.16 82.33 69.4 56.94 42.31 0]';
ft_ = fittype('k/(-1+exp(a*t)*C)',...
    'dependent',{'c'},'independent',{'t'},...
    'coefficients',{'k', 'a', 'C'});
st=[200 1.5 0.1]
[curve, goodness]= fit(t,c,ft_,'Startpoint',st)
figure
plot(curve,'predobs',0.95);
hold on,plot(t,c,'b*')

st =

  200.0000    1.5000    0.1000


curve =

     General model:
     curve(t) = k/(-1+exp(a*t)*C)
     Coefficients (with 95% confidence bounds):
       k =      -269.7  (-288.2, -251.2)
       a =      0.1438  (0.1191, 0.1685)
       C =    -0.05613  (-0.09544, -0.01682)

goodness =

           sse: 394.4838
       rsquare: 0.9955
           dfe: 9
    adjrsquare: 0.9945
          rmse: 6.6205
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.
6楼2011-06-02 21:41:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

引用回帖:
Originally posted by dbb627 at 2011-06-02 21:41:09:
t= [0 2 7 9 19 22 24 26 28 30 32 40]';
c=[255.55 246.44 237.28 228.36 136.08 114 99.16 82.33 69.4 56.94 42.31 0]';
ft_ = fittype('k/(-1+exp(a*t)*C)',...
    'dependent',{'c'},'independent',{'t'} ...

maple计算解析解为 S(t)=k/(-1+exp(q*214.63*k*t)*C1*k)
令q*214.63*k=a,C1*k=C  S(t)=c
matlab拟合可得a k C
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.
7楼2011-06-02 21:48:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dbb627

荣誉版主 (著名写手)

【答案】应助回帖

vs570588(金币+3): 谢谢你 2011-06-03 13:26:07
vs570588(金币+3): 十分感谢 2011-06-04 18:33:10
vs570588(金币+1): 只剩下一个,谢谢你了。希望你能再帮我看看 2011-06-05 20:55:16
引用回帖:
Originally posted by dbb627 at 2011-06-02 21:41:09:
t= [0 2 7 9 19 22 24 26 28 30 32 40]';
c=[255.55 246.44 237.28 228.36 136.08 114 99.16 82.33 69.4 56.94 42.31 0]';
ft_ = fittype('k/(-1+exp(a*t)*C)',...
    'dependent',{'c'},'independent',{'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.
8楼2011-06-02 21:50:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vs570588

木虫 (正式写手)

引用回帖:
Originally posted by dbb627 at 2011-06-02 21:50:44:
计算的图见附件

你好,谢谢你了。你用maple做出的解析解。我matlab是个菜鸟,怎样用matlab实现,我不会。你能帮我看看吗?另外,这里还有几篇英文文献,处理类似的问题。
第一篇:
Non-linear least-square error minimization was used to estimate best-fit values for the kinetic parameters (Sa´ez and Rittmann, 1992). In this technique, the modeling equations are solved numerically, and parameters are selected to minimize the sum of the relative least-square residuals. The equations were solved by finite differences in a Microsoft Excel spreadsheet.
第二篇:
2.7.5. Data fitting
AQUASIM version 2.1f (Reichert, 1995) was used to fit kinetic parameters. AQUASIM estimates kinetic parameters by minimizing
the sum of the squares of the weighted deviations between actual data and results of the calculated model. The calculation step size was 0.01 days. The secant method was used with a maximum iteration number of 100.
第三篇:
The fitting method adopted is detailed as follows. Eqs. (1) and(8) were solved numerically by the finite-difference method with
a finite-difference of dt= 0.00625 h and with an initial guess of qmax and Ks. The optimal qmax and Ks were then obtained by
changing their values in Microsoft Excel Solver to reach the minimum SSE between the model-calculated and observed data.
我希望我出来的拟合图形不应该是折线图,而是如附件所示。我的数据和第三篇中的数据很像,也是一式三组试验,其中一组和另外两组数据有区别。第三篇拟合求参方法如上所示。
最后,还是要谢谢你。
9楼2011-06-04 18:32:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

vs570588

木虫 (正式写手)

引用回帖:
Originally posted by dbb627 at 2011-06-02 21:50:44:
计算的图见附件

不好意思,由于我多处求助,这句话不对“我希望我出来的拟合图形不应该是折线图,”。还是很感谢你。
10楼2011-06-04 18:37:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 学员BmWXvC 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿211电子信息347求调剂 +3 554916 2026-04-03 4/200 2026-04-09 22:24 by 554916
[考研] 086003调剂求助 +19 苏弋万 2026-04-09 20/1000 2026-04-09 20:48 by bljnqdcc
[考研] 材料化工总分334求调剂 +16 Riot2025 2026-04-08 17/850 2026-04-09 20:19 by maddjdld
[考研] 085402通信工程调剂,有4项学科竞赛国奖(电赛国二),硕士研究生调剂自荐信。 +3 m永o不v言o弃m 2026-04-09 3/150 2026-04-09 17:17 by 紫曦紫棋
[考研] 0860004 求调剂 309分 +7 Yin DY 2026-04-08 7/350 2026-04-09 14:06 by ditto77778
[考研] 一志愿鲁东大学071000生物学学硕初试分数276求调剂 +3 慕绝cc 2026-04-09 3/150 2026-04-09 09:57 by liuhuiying09
[考研] 一志愿西南大学生物学学硕344 求生物学相关调剂/生物与医药 +7 超人不会飞@ 2026-04-08 7/350 2026-04-09 09:35 by gong120082
[考研] 求调剂 +14 张zic 2026-04-05 15/750 2026-04-08 16:14 by 一只好果子?
[考研] 334分控制工程求调剂 +4 姜尚真sadasd 2026-04-03 4/200 2026-04-07 09:26 by 蓝云思雨
[考研] 071000生物学调剂 +7 拉提桃 2026-04-06 7/350 2026-04-06 18:55 by 52305043001
[考研] 化学357分,考研调剂 +11 .Starry. 2026-04-04 12/600 2026-04-06 06:28 by houyaoxu
[考研] 377求调剂 +6 by.ovo 2026-04-05 6/300 2026-04-05 22:18 by dongzh2009
[考研] 求调剂 +7 张.1 2026-04-05 7/350 2026-04-05 20:40 by 啵啵啵0119
[考研] 材料调剂 +6 一样YWY 2026-04-05 6/300 2026-04-05 20:30 by 南航~万老师
[考研] 调剂 +3 李广火 2026-04-05 3/150 2026-04-05 18:57 by 蓝云思雨
[考研] 348求调剂 +6 wukira 2026-04-04 6/300 2026-04-05 18:11 by 猪会飞
[考研] 083200 333求调剂 +3 十二!! 2026-04-04 3/150 2026-04-05 08:28 by barlinike
[考研] 295求调剂 +4 A你好研究生 2026-04-04 5/250 2026-04-04 22:46 by yu221
[考研] 一志愿沪9,求生物学调剂,326分 +6 刘墨墨 2026-04-04 6/300 2026-04-04 19:44 by 唐沐儿
[考研] 求生物学专业调剂-332分 +5 云朵遛弯指南 2026-04-04 5/250 2026-04-04 10:05 by rzh123456
信息提示
请填处理意见