求助一个延迟微分方程的MATLAB程序
function ddemyfunlags=; history=; tspan=;
sol=dde23(@myddefun1,lags,history,tspan);
plot(sol.x,sol.y); xlabel('time t'); ylabel('solution y');
%%%%%%
% function
% dx(1)/dt=-k1*c*x(1)+2*k4*x(3)*(t-6.4)
%dx(4)/dt= k3*x(3)-k4*x(3)*(t-6.4)
%dx(2)/dt= k1*c*x(1)+2*k33*x(3)-k2*x(2)*x(2)
%dx(3)/dt= -(k3+k33)*x(3)+0.5*k2*x(2)*x(2)
function dxdt=myddefun1(t,x,Z)
k1=0.021; k2=2.46; k3=0.1066; k4=0.10658; k33=0.001;
c=10; xlag1=Z(:,1); xlag2=Z(:,2);
dxdt=[-k1*c*x(1)+2*k4*xlag1(1)
k3*x(3)-k4*xlag2(2)
k1*c*x(1)+2*k33*x(3)-k2*x(2)*x(2)
-(k3+k33)*x(3)+0.5*k2*x(2)*x(2) ];
[ 本帖最后由 ChaChing 于 2010-3-2 09:38 编辑 ] 个人水平有限, 总觉得LZ似乎没说明白!?
回复 楼主 zhong124 的帖子
% function% dx(1)/dt=-k1*c*x(1)+2*k4*x(3)*(t-6.4)
%dx(4)/dt= k3*x(3)-k4*x(3)*(t-6.4)
%dx(2)/dt= k1*c*x(1)+2*k33*x(3)-k2*x(2)*x(2)
%dx(3)/dt= -(k3+k33)*x(3)+0.5*k2*x(2)*x(2)
是x(3)*(t-6.4)还是x(3)(t-6.4)
回复 板凳 yangzhanwen 的帖子
x(3)*(t-6.4)和x(3)(t-6.4) 是一样的,就是方程的这种表示,我写成了程序中的表示而已 看看matlab自带的例子吧!edit ddex1
页:
[1]