24小时热门版块排行榜    

查看: 1116  |  回复: 5

SCR建模

新虫 (初入文坛)

[交流] 使用MATLAB估计SCR动力学参数,运行有错误,请大神指点一下。(附件中红色为目标值) 已有3人参与

function K1K2K3K4
format long
clear all
clc
tspan = [ ];
x0 = [0];%初始状态
k0 = [1 1 1 1 1 1]; %定义指前因子K1K3活化能K2K4  
lb = [0 0 0 0 0 0];%下限
ub = [+inf +inf +inf +inf +inf +inf];%上限
data=...               %第一列为时间,第二列NH3为输出值
[ ];
yexp = data(:,2);         %NH3输出值
[k,resnorm,residual,exitflag,output,lambda,jacobian] = ...
    lsqnonlin(@ObjFunc,k0,lb,ub,[],tspan,x0,yexp);      
ci = nlparci(k,residual,jacobian);
fprintf('\n\n使用函数lsqnonlin()估计得到的参数值为:\n')
fprintf('\tk1 = %.9f ± %.9f\n',k(1),ci(1,2)-k(1))
fprintf('\tk2 = %.9f ± %.9f\n',k(2),ci(2,2)-k(2))
fprintf('\tk3 = %.9f ± %.9f\n',k(3),ci(3,2)-k(3))
fprintf('\tk3 = %.9f ± %.9f\n',k(4),ci(4,2)-k(4))
fprintf('  The sum of the squares is: %.9e\n\n',resnorm)

function f = ObjFunc(k,tspan,x0,yexp)           % 目标函数
[t Xsim] = ode45(@reaction,tspan,x0,[],k);
Xsim1=Xsim(:,1);
ysim(:,1) = Xsim1(2:end);
size(ysim(:,1));
size(yexp(:,1));
f = (ysim(:,1)-yexp(:,1));

function dCdt = reaction(t,C,k)              % ODE模型方程
R=8.3145;%气体常数
Rseg=288;
Pamb=101325;
n=2;%(微元个数)
f=0.81;
Vc=0.005788730358;%(体积)
Cs=155.88;%储氨能力(mol/m3)
mf=225/3600;%废气流量(kg/s)
Tin=;%输入温度(K)
nNH3=400;
dC1dt=K5*mf*(Tin-C1)-K6(C1^4-298.15^4);
T=(C1+Tin)/2;
dC2dt=K1*exp(-K2/(R*T))*C3*(1-C2)-K3*exp(-K4/(R*T))*C2;
dC3dt=n/(f*Vc)*nNH3-C3*((Rseg*n/(Pamb*f*Vc))*mf*T+Cs*K1*exp(-K2/(R*T))*(1-C2))+Cs*K3*exp(-K4/(R*T))*C2;
dCdt = [dC1dt;dC2dt;dC3dt];

Error in K1K2K3K41>reaction (line 902)
dC2dt=K1*exp(-K2/(R*T))*C1*(1-C2)-K3*exp(-K4/(R*T))*C2;

Error in odearguments (line 88)
f0 = feval(ode,t0,y0,args{:});   % ODE15I sets args{1} to yp0.

Error in ode45 (line 114)
[neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, odeArgs, odeFcn, ...

Error in K1K2K3K41>ObjFunc (line 884)
[t Xsim] = ode45(@reaction,tspan,x0,[],k);

Error in lsqnonlin (line 189)
            initVals.F = feval(funfcn{3},xCurrent,varargin{:});

Error in K1K2K3K41 (line 872)
[k,resnorm,residual,exitflag,output,lambda,jacobian] = ...

Caused by:
    Failure in initial user-supplied objective function evaluation. LSQNONLIN
    cannot continue.
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : Book1.xlsx
  • 2016-09-26 14:24:42, 380.43 K
  • 附件 2 : Book1.xlsx
  • 2016-09-26 14:27:55, 402.16 K

» 猜你喜欢

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

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

chendequan

铁虫 (小有名气)


小木虫: 金币+0.5, 给个红包,谢谢回帖
内容已删除
QQ:516477448,真心帮助解决MATLAB相关问题,提供详细资料,Word文档明确具体问题及要求,尽力而为!
2楼2016-09-26 20:08:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

SCR建模

新虫 (初入文坛)

内容已删除
3楼2016-09-26 21:47:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

SCR建模

新虫 (初入文坛)

这个模型有问题,等我修改一下如果还不能运行再请教一下大神们。
4楼2016-09-27 07:45:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ybkooo

至尊木虫 (著名写手)

^^


小木虫: 金币+0.5, 给个红包,谢谢回帖
ode45是变步长算法,能跟你的数据对应吗?

发自小木虫Android客户端
abcd
5楼2016-11-21 14:34:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

grangergaga

木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
请问解决了吗,解决的结果如何?
6楼2021-10-22 22:47:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 SCR建模 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见