运行 一直提示 Not enough input arguments 以下是我的代码

1 Call lsqnonlin

tic % time check

clear all;

%Experimental data

tspan = [0,600,900,1200,1500,1800,2100,2400,2700,3000]';

% Concentration of Mg2+  mol/L

y_1 = [0,0.186,0.271,0.36,0.384,0.311,0.262,0.257,0.252,0.245]';

% PH

y_2 = [10.35,8.64,8.45,8.35,8.21,8.09,8,7.83,7.65,7.42]';

data = [tspan y_1 y_2];

yexp = [data(:,2) data(:,3)];

% initial parameter identification

kn = 10^2.6; %Crystallization kinetics

kg = 8.06e-2;

n = 6.5 ;

g = 6.5 ;

X_1=1; % mass transfer coefficient enhancement factor

X_2=1;

X_3=0.05;

teta_0 = [kn kg n g X_1 X_2 X_3]; %just collect in 1 vector sampling instants t and measured B

%initial values for ODE

x0 = [0,0,3.3e-4,3.03e-11,0,0,1.65e-4,100,0,0,0,0,0];

lb = [0 0 0 0 0 0 0 0 0 0 0 0 0];

ub = [1 1 1 1 1 1 1 101 1 1 1 1 1];

% Call the optimizer:

[teta_opt,resnorm,residual,exitflag,output,lambda,jacobian] ...

= lsqnonlin(@Objfun_ffMgOH2_CO2_H2O_with_precipitation,teta_0,lb,ub,[],tspan,x0,yexp);

ci = nlparci(teta_opt,residual,jacobian);

kn = teta_opt(1);

kg = teta_opt(2);

n  = teta_opt(3);

g  = teta_opt(4);

X_1 = teta_opt(5);

X_2 = teta_opt(6);

X_3 = teta_opt(7);

%Optimized solution

tsim = [0,3000];

[t,x] = ode15s(@ode_ffMgOH2_CO2_H2O_with_precipitation,tsim,x0,[],kn,kg,n,g,X_1,X_2,X_3);

figure(1)

plot(tspan,y_1,'o',tsim,x(:,7)+x(:,9)) %plot the data vs solution

title('Parameter fitting of Mg2+ in the bulk,mol/L');

figure(2)

PH=-log10(x(:,4));

plot(tspan,y_2,'o',tsim,PH) %plot the data vs solution

title('Parameter fitting of PH');

toc %time check

2 Call Objfun

%Call 'Objfun' function:

function lsq = Objfun_ffMgOH2_CO2_H2O_with_precipitation(teta,tspan,x0,yexp)

[~,x] = ode15s(@ode_ffMgOH2_CO2_H2O_with_precipitation,tspan,x0,[],teta);

%Concentration of Mg2+

y_cal(:,1) = x(:,7)+x(:,9);

%PH

y_cal(:,2) = -log10(x(:,4));

lsq = [y_cal(:,1)-(yexp(:,1)) (y_cal(:,2)-yexp(:,2))];

end

3 Call ode_function

% the reaction of Calc hydroxide[Mg(OH)2] and Carbon dioxide

function dx=ode_ffMgOH2_CO2_H2O_with_precipitation(t,x,kn,kg,n,g,X_1,X_2,X_3)

dx = zeros(13,1);

% x(1) is the concentration of liquid CO2(l)

% initial value = 0 mol/L

% x(2) is the concentration of gas CO2(g)

% initial value = 0 mol/L

% x(3) is the concentration of Hydroxy [OH-] in bulk

% initial value = 3.3e-4 mol/L

% x(4) is the concentration of Hydrogen [H+] in bulk

% initial value = 3.03e-11 mol/L

% x(5) is the concentration of Bicarbonate [HCO3-]

% initial value = 0 mol/L

% x(6) is the concentration of carbonate [CO3 2-]

% initial value = 0 mol/L

% x(7) is the concentration of Magnesium [Mg 2+]

% initial value = 1.65e-4  mol/L

% x(8) is the mass of Mg(OH)2

% initial value = 100  g

% x(9) is the concentraiton of liquid MgCO3

% initial value = 0  mol/L

% x(10) is o monent which is number density of crystal n(L)

% initial value = 0

% x(11) is 1 monent which is number density of crystal n(L)

% initial value = 0

% x(12) is 2 monent which is number density of crystal n(L)

% initial value = 0

% x(13) is 3 monent which is number density of crystal n(L)

% initial value = 0

Qg = 1.67e-2;        % L/s          1L/min

N  = 650;

vl = 2.826;          % vl is the dispersion volum                  L

vg = 2.047*10^(-5)*N^(0.579)*Qg^0.63*vl;

% vg is the gas volum in the gas-liquid mixture m3

%agitating speed rpm

P = 1;               % P is the atmospheric pressure                atm

pi = 3.14;

kla = 0.0304;        % kla is the mass transfer coefficient of CO2  s^(-1)

%(9.6218e-5)*N^0.4316*Qg^0.3840*c^0.1117*E;

kH = 0.035;          % kh is the Henry's constant               mol/(L*atm)

M_CO2 = 44;          % M_CO2 is the co2 molar mass              g/mol

M_MgOH = 58;         % molar mass of Mg(OH)2               g/mol

M_MgCO3 = 84;        % molar mass of M_MgCO3    g/mol

dd_CO2 = 1.8;        % dd_CO2 is the density of CO2

dd_MgOH = 2.34e3;    % dd_Mg(OH)2 is the density of Mg(OH)2          g/L

dd_MgCO3 = 2.96e3;   % dd_Mg(OH)2 is the density of MgCO3          g/L

dd_mol_MgCO3 = dd_MgCO3/M_MgCO3; % mol/L

ddslurry = 1e3;      % density of slurry g/L                     % ddCO2 = 1960; ddCO2 is the density of CO2

c = 1;               % volume fraction of CO2 in the inlet gas

CO2in = dd_CO2/M_CO2*c;% CO2in is the concentration of CO2 entering the reactor mol/L

% CO2in = ddCO2/MCO2*0.15 =1800/44*0.05 =6.75  mol/m3

%Ksp1 = 1.8e-11;      % Ksp[Mg(OH)2]          mol2/L2

Ksp2 = 3.5e-8;       % Ksp[MgCO3]            mol2/L2

k11 = 8.4e3;         % L/(mol*s) k11 = 8.4*10^3             L/mol*s

k12 = 2e-4;          % s^(-1)     k12 = 2.0*10^(-4)           s^(-1)

k21 = 6e9;           % L/(mol*s) k21 = 6*10^(9)             L/mol*s

k22 = 1.2e6;         % s^(-1)     k22 = 1.2*10^(6)            s^(-1)

k31 = 1.4e11;        % L/(mol*s) k31 = 1.4*10^(11)          L/mol*s

k32 = 1.3e-3;        % mol/(L*s) k32 = 1.3*10^(-3)          mol/L*s

k41 = 2.4e-2;        % s^(-1)     k41 = 2.4*10^(-2)          s^(-1)

k42 = 5.7e2;         % L/(mol*s) k42 = 5.7*10^4             L/mol*s

k52 = 9e-3;          % s^(-1) k52 = 9e-3                     s^(-1)

k51 = 1.88e6;         %k52/Ksp2;      % L/(mol*s)

%D_CO2_l  = 1.91e-7;  %diffusion coefficeint of CO2(l) dm2/s

D_OH     = 5.27e-7;  %diffusion coefficeint of OH- dm2/s

D_H      = 9.31e-7;  %diffusion coefficeint of H+ dm2/s

%D_HCO3   = 1.19e-7;  %diffusion coefficeint of HCO3 dm2/s

%D_CO3    = 9.23e-8;  %diffusion coefficeint of CO3 dm2/s

D_Mg     =1.06e-9; %7.06e-8;  %diffusion coefficeint of Mg2+ dm2/s

%zk_CO2_l  = 0;

zk_OH     = -1;

zk_H      = 1;

%zk_HCO3   = -1;

%zk_CO3    = -2;

zk_Mg     = 2;

%C_CO2_l  = 0;       % concentration on the interface i

C_OH     = 3.3e-4;

C_H      = 3.03e-11;

%C_HCO3   = 0;

%C_CO3    = 0;

C_Mg     = 1.65e-4; % concentration on the interface i

%d_CO2_l   = C_CO2_l-x(1); % Ci-Cb

d_OH      = C_OH-x(3);

d_H       = C_H-x(4);

%d_HCO3    = C_HCO3-x(5);

%d_CO3     = C_CO3-x(6);

d_Mg      = C_Mg-x(7); % Ci-Cb

% d_CO2_l   = x(1)-C_CO2_l; % Cb-Ci

% d_OH      = x(3)-C_OH;

% d_H       = x(4)-C_H;

% d_HCO3    = x(5)-C_HCO3;

% d_CO3     = x(6)-C_CO3;

% d_Mg      = x(7)-C_Mg; % Cb-Ci

%A_CO2_l   = (C_CO2_l+x(1))/2; % (Ci+Cb)/2

A_OH      = (C_OH+x(3))/2;

A_H       = (C_H+x(4))/2;

%A_HCO3    = (C_HCO3+x(5))/2;

%A_CO3     = (C_CO3+x(6))/2;

A_Mg      = (C_Mg+x(7))/2;  % (Ci+Cb)/2

Ntot1 = 8.17e10;      %total number of Mg(OH)2 100g = 8.17e10

%Ntot1 = 100/(3.14*d^3*2340/6)

UL = 1.01e-1; % dynamic viscosity 1.01e-3 Pas = kg*s/m = 1.01e-1 g*s/dm

VL = 1.01e-4; % kinematic viscosity 1.01e-6 m2/s = 1.01e-4 dm2/s

eT = 14028; % total energy dissipation w/kg = m2/s3*100 = dm2/s3

dp = (6*x(8)/(Ntot1*dd_MgOH*3.14))^(1/3); %diameter of solid dm

a = (3.3*x(8)^(2/3)*(3.14*Ntot1)^(1/3)/dd_MgOH^(2/3)/vl);%specific area

if a > 0

% mass transfer %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Re = eT^(1/3)*dp^(4/3)/VL;

%Sc_CO2_l  = UL/(ddslurry*D_CO2_l);

Sc_OH     = UL/(ddslurry*D_OH);

Sc_H      = UL/(ddslurry*D_H);

%Sc_HCO3   = UL/(ddslurry*D_HCO3);

%Sc_CO3    = UL/(ddslurry*D_CO3);

Sc_Mg     = UL/(ddslurry*D_Mg);

%Sh_CO2_l  = (2^5.8+(0.61*(Re^0.58)*(Sc_CO2_l^(1/3)))^5.8)^(1/5.8);

Sh_OH     = (2^5.8+(0.61*(Re^0.58)*(Sc_OH^(1/3)))^5.8)^(1/5.8);

Sh_H      = (2^5.8+(0.61*(Re^0.58)*(Sc_H^(1/3)))^5.8)^(1/5.8);

%Sh_HCO3   = (2^5.8+(0.61*(Re^0.58)*(Sc_HCO3^(1/3)))^5.8)^(1/5.8);

%Sh_CO3    = (2^5.8+(0.61*(Re^0.58)*(Sc_CO3^(1/3)))^5.8)^(1/5.8);

Sh_Mg     = (2^5.8+(0.61*(Re^0.58)*(Sc_Mg^(1/3)))^5.8)^(1/5.8);

% Parameter fitting!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

%Ks_CO2_l  = Sh_CO2_l*D_CO2_l/dp;

Ks_OH     = Sh_OH*D_OH/dp*X_1;

Ks_H      = Sh_H*D_H/dp*X_2;

%Ks_HCO3   = Sh_HCO3*D_HCO3/dp;

%Ks_CO3    = Sh_CO3*D_CO3/dp;

Ks_Mg     = Sh_Mg*D_Mg/dp*X_3;

% K = (zk_CO2_l*Ks_CO2_l*d_CO2_l+zk_OH*Ks_OH*d_OH+zk_H*Ks_H*d_H+zk_HCO3*Ks_HCO3*d_HCO3+zk_CO3*Ks_CO3*d_CO3+zk_Mg*Ks_Mg*d_Mg)/...

%     (zk_CO2_l^2*Ks_CO2_l*A_CO2_l+zk_OH^2*Ks_OH*A_OH+zk_H^2*Ks_H*A_H+zk_HCO3^2*Ks_HCO3*A_HCO3+zk_CO3^2*Ks_CO3*A_CO3+zk_Mg^2*Ks_Mg*A_Mg);

K = (zk_OH*Ks_OH*d_OH+zk_H*Ks_H*d_H+zk_Mg*Ks_Mg*d_Mg)/...

(zk_OH^2*Ks_OH*A_OH+zk_H^2*Ks_H*A_H+zk_Mg^2*Ks_Mg*A_Mg);

%NCO2_l  = Ks_CO2_l*(d_CO2_l-A_CO2_l*zk_CO2_l*K);

NOH     = Ks_OH*(d_OH-A_OH*zk_OH*K);

NH      = Ks_H*(d_H-A_H*zk_H*K);

%NHCO3   = Ks_HCO3*(d_HCO3-A_HCO3*zk_HCO3*K);

%NCO3    = Ks_CO3*(d_CO3-A_CO3*zk_CO3*K);

NMg     = Ks_Mg*(d_Mg-A_Mg*zk_Mg*K);

% K = (zk_CO2_l*D_CO2_l*d_CO2_l+zk_OH*D_OH*d_OH+zk_H*D_H*d_H+zk_HCO3*D_HCO3*d_HCO3+zk_CO3*D_CO3*d_CO3+zk_Mg*D_Mg*d_Mg)/...

%     (zk_CO2_l^2*D_CO2_l*A_CO2_l+zk_OH^2*D_OH*A_OH+zk_H^2*D_H*A_H+zk_HCO3^2*D_HCO3*A_HCO3+zk_CO3^2*D_CO3*A_CO3+zk_Mg^2*D_Mg*A_Mg);

%

% NCO2_l  = Ks_CO2_l*d_CO2_l-Ks_CO2_l*A_CO2_l*zk_CO2_l*K;

% NOH     = Ks_OH*d_OH-Ks_OH*A_OH*zk_OH*K;

% NH      = Ks_H*d_H-Ks_H*A_H*zk_H*K;

% NHCO3   = Ks_HCO3*d_HCO3-Ks_HCO3*A_HCO3*zk_HCO3*K;

% NCO3    = Ks_CO3*d_CO3-Ks_CO3*A_CO3*zk_CO3*K;

% NMg     = Ks_Mg*d_Mg-Ks_Mg*A_Mg*zk_Mg*K;

% reaction kinetics%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

r1 = k11*x(1)*x(3)-k12*x(5);

r2 = k21*x(5)*x(3)-k22*x(6);

r3 = k31*x(3)*x(4)-k32;

r4 = k41*x(1)-k42*x(5)*x(4);

r5 = k51*x(7)*x(6)-k52;

% Crystallization kinetics%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% Parameter fitting!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

% kn = 10^2.6;  % kn = 10^2.6;%mol^(-n)*dm^(3n-3)*s^-1

% kg = 8.06e-2; % kg = 8.06e-2;%mol^(-g)*dm^(3g+1)*s^-1

% n = 6.5;      % n = 4.2;

% g = 6.5;        % g = 2;

S = sqrt((x(6)+x(9))*(x(7)+x(9)))-sqrt(Ksp2);

B = kn*(S^n);

G = kg*(S^g);

%current = 2*NMg+NH-NOH

dx(1) = kla*(kH*M_CO2*P*x(2)/dd_CO2-x(1))*(vl+vg)/vl-r1-r4;%+NCO2_l*a;

dx(2) = (Qg*(CO2in-x(2))-kla*(kH*M_CO2*P*x(2)/dd_CO2-x(1))*(vl+vg))/vg;

dx(3) = -r1-r2-r3+NOH*a;

dx(4) = -r3+r4+NH*a;

dx(5) = r1-r2+r4;%+NHCO3*a;

dx(6) = r2-r5;%+NCO3*a;

dx(7) = NMg*a-r5;

dx(8) = -NMg*a*vl*M_MgOH;

dx(9) = r5-pi/6*(1e-21)*dd_mol_MgCO3*B-G/2*pi*dd_mol_MgCO3*x(12); %MgCO3(l) mol/L

dx(10) = B; % m0

dx(11) = G*x(10);%m1

dx(12) = 2*G*x(11);%m2

dx(13) = 3*G*x(12);%m3

dx = [dx(1);dx(2);dx(3);dx(4);dx(5);dx(6);dx(7);dx(8);dx(9);dx(10);dx(11);dx(12);dx(13)];

end

end

matlab 1e3,Matlab 对 ODE的参数进行 拟合 求助@月只蓝 - 计算模拟 - 小木虫 - 学术 科研 互动社区...相关推荐

  1. 用matlab拟合多元函,matlab 多元函数拟合 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    月只蓝 一.MATLAB代码和结果如下,图形结果见附图1.CODE: function feixianxingnihe_3 clear all;clc format long data=[298,1. ...

  2. matlab拟合参数最优,使用matlab最优化方法拟合获得多个动力学参数中的问题 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    各位师兄师姐,麻烦大家帮我看一下这个问题.我现在想用一个模型来描述我的实验现象,模型如图所示. 我通过实验有了x-t的实验数据,如下图所示,我现在想用matlab的fmincon函数求解模型中的ks和 ...

  3. MATLAB计算杨氏模量,四阶弹性模量Cijkl如何在matlab里表示啊? - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    matlab 四元数运算计算包就可以了吧 Matlab 四元数操作函数 2012-06-03 21:02:55|  分类: MATLAB&Mathemati |  标签:四元数  quater ...

  4. matlab数值很小出错,求大神帮忙解决一下,用MATLAB求解动力学数据总是出错~ - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    CODE: function KineticsEst5 % 动力学ODE方程模型的参数估计 % % % % The variables y here are y(1)=xB, y(2)=xoNB, y ...

  5. matlab编制刚度矩阵,MATLAB FEM 刚度矩阵 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    csgt0 精度有问题?没程序和数据很难说明问题 z770428 可是刚度矩阵中所有元素都不大也不太小,你是说MATLAB精度有问题么 zhuomec 刚度矩阵主对角元素应该是大于零的,你是不是算错了 ...

  6. matlab 方程组 无解,用matlab求解非线性方程组说无解,一定是方程组本身无解,还是有可能程序有问题呢? - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    应该是方程本身的问题,对于一些方程本身是无法获得解析解的. 下面第一部分是MATLAB的程序结果,图片部分是Maple计算的,看来没有解析解. syms B S a b c d e f g h [B, ...

  7. matlab常数编程,用MATLAB编程序,拟合方程,求常数。 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    迭代数: 36 计算用时(时:分:秒:微秒): 00:00:04:166 优化算法: 麦夸特法(Levenberg-Marquardt) + 通用全局优化法 计算结束原因: 达到收敛判断标准 均方差( ...

  8. matlab画最小二乘线,matlab非线性最小二乘法求解 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    dingd 1stOpt求解:CODE: Variable A,B,C,D,E,Y; ParameterDomain = [0,]; Function Y=aa*A+bb*B+cc*C+dd*D+ee ...

  9. matlab拟合函数,Matlab拟合自定义函数 - 计算模拟 - 小木虫 - 学术 科研 互动社区...

    公式是:y=a*exp(-exp((-x-b)/c)-(x-b)/c+1)+o x=30        50        70        90        110        130    ...

最新文章

  1. binder IPC TRANSACTION过程分析(BC_TRANSACTION-Binder Driver)
  2. 用java程序将GBK字符转成UTF-8编码格式(转)
  3. Java生鲜电商平台-订单配送模块的架构与设计
  4. java 字符字节数组_Java字符串与字符、字节数组知识点总结
  5. redhat 6.5 mysql rpm_CentOS6.5和RedHat6.5下以rpm方式安装mysql-5.6.20
  6. java导入jdk源码_eclipse导入JDK源码
  7. html怎么添加视频链接,PPT怎么将超链接添加到视频图文教程
  8. 聚观早报 | 范红卫登顶中国女首富;4个县级市获明确为大城市
  9. 全国各地电信网通铁通DNS服务器IP地址
  10. Go语言 编写代码统计出字符串中汉字的数量
  11. Unity 3D PC平台发布|| Unity 3D Web 平台发布||Unity 3D Android平台发布
  12. python实战: 短链接生成器
  13. 实用软件/微信PC防撤回
  14. 逢7必过或拍7游戏(七的倍数、带7的)用C语言实现
  15. 【网安自学】XSS漏洞防御
  16. 分享几段祖传的Python代码,拿来直接使用
  17. 微信支付—— 扫码支付
  18. 用python语言实现人工智能猴子摘香蕉的问题_【提问】求大神看看代码哪里错了 C语言猴子摘香蕉...
  19. c语言程序设计中北答案详解,C语言程序设计试题及答案解析汇编.doc
  20. 同轴电缆75欧什么意思?这是高频电磁传播的概念是特性阻抗,不同于直流电路的电阻阻值。下文指出:同轴电缆的特征阻抗只与外导体的内径和内导体的外径有关,和电缆长度无关。测试原理TDR,史密斯,谐振法

热门文章

  1. 初识Greenfoot
  2. linux运维培训时间,linux运维培训班跟自学相比那个好?
  3. MLW模型的matlab实现(已修复)
  4. windows (win10 ) NTP服务器搭建方法/步骤
  5. 电工模电数电电拖单片机PLC传感器实训台QY-DG790G
  6. winxp系统连接服务器丢包解决方法
  7. 电动汽车充电报文该怎么看
  8. 【Appium+Python】进行手机操作的方法+使用手机物理键
  9. 【2020年高被引学者】 宋令阳 北京大学
  10. 毕业设计 单片机(stm32)远程宠物喂养系统 - 物联网 esp8266