matlab中s_cplot,MATLAB中有关动力学参数的求解 金币我手动增加 谢谢谢谢各路大神了 - 程序语言 - 小木虫 - 学术 科研 互动社区...

w56h2271860_1428410950_695.jpg   这个是原方程

下面文件一个是数据

这是我模仿人家的程序   可是老是有问题   请帮我改改吧  谢谢

function piadatfit2

clear all;

tspan=[0 15 30 45 60 75 90 105 120];

cexp=[9.825 0 0 0 1.269;6.37526 1.9963 0.9619 3.44974 1.269;5.244978 3.287052 1.29297 4.580022 1.269;4.47617 3.95034 1.44173 5.34825 1.269;3.97372125 4.377602255 1.473676495 5.85127875 1.269;3.50231 4.67683 1.67972 6.32269 1.269;3.074439 4.89039375 1.76854 6.750561 1.269;2.83596 5.14027 1.83809 6.98904 1.269;2.62121175 5.331707217 1.872081033 7.20378825 1.269;

k0==[0 0 0 0 0];

c0==[9.825 0 0 0];

LB==[0 0 0 0 0 0 0 0 0];

UB==[+inf +inf +inf +inf +inf +inf +inf +inf +inf];

[k,resnorm,residual]==lsqnonlin(@objpia,k0,LB,UB,[],cexp,tspan,c0)

[tplot cplot]==ode45(@piakin,tspan,c0,[],k);

plot(tspan,cexp(:,1),'bx',tplot,cplot(:,1),'b-',tspan,cexp(:,2),'ko',tplot,cplot(:,2),'k-');

function f=objpia(k,cexp,tspan,c0,);

[~, c]=ode45(@piakin,tspan,c0,[],k);

f1=c(:,1)-cexp(:,1);

f2=c(:,2)-cexp(:,2);

f3=c(:,3)-cexp(:,3);

f4=c(:,4)-cexp(:,4);

f5=c(:,5)-cexp(:,5);

f=[f1;f2;f3;f4;f5];

function (dc/dt)=piakin(c,k);

dc1/dt=(k1*k3*c(1)/(k2*c(4))-k8*k4*c(2))*0.774/(1+k1*c(1)*c(4)/(k2*c(4))+k4*c(2)+k1*c(1)/(k5*c(4))+k7*c(3));

dc2/dt=(k1*k3*c(1)/(k2*c(4))-k8*k4*c(2))*0.774/(1+k1*c(1)*c(4)/(k2*c(4))+k4*c(2)+k1*c(1)/(k5*c(4))+k7*c(3));

dc3/dt=(k1*k3*c(1)/(k2*c(4))-k8*k4*c(2))*0.774/(1+k1*c(1)*c(4)/(k2*c(4))+k4*c(2)+k1*c(1)/(k5*c(4))+k7*c(3));

dc4/dt=(k1*k3*c(1)/(k2*c(4))-k8*k4*c(2))*0.774/(1+k1*c(1)*c(4)/(k2*c(4))+k4*c(2)+k1*c(1)/(k5*c(4))+k7*c(3));

dc5/dt=(k1*k3*c(1)/(k2*c(4))-k8*k4*c(2))*0.774/(1+k1*c(1)*c(4)/(k2*c(4))+k4*c(2)+k1*c(1)/(k5*c(4))+k7*c(3));

dc/dt=[dc1/dt dc2/dt dc3/dt dc4/dt dc5/dt]';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值