Matlab求解中性类型的时滞微分方程组-中性类型的时滞微分方程

来源:互联网 发布:人工智能 经济学 编辑:程序博客网 时间:2024/05/02 00:27

(1)中性类型的时滞微分方程:


满足上面形式的微分方程,也就是说微分方程的右边还要包含“时滞部分的导数”。

(2)使用ddensd函数求解:函数形式


函数说明:ddefun是微分方程的描述,dely是时滞部分的描述,delyp是时滞导数部分的描述,history初始条件,tspan是求解时t的范围。

(3)例子:

1.所求解方程:


初始状态为:y(t)=cos(t),t<=0

2.程序实现:

用四个本地函数,说明这个带时滞的中性微分方程:

%ddefun.m文件:这个函数说明了主方程,ydel代表时滞部分,ypdel表示时滞部分的导数function yp = ddefun(t,y,ydel,ypdel)     yp = 1 + y - 2*ydel^2 - ypdel;end


%dely.m文件:用来描述时滞部分,是y(t/2)function dy = dely(t,y)     dy = t/2;end

%delyp.m文件:用来描述时滞部分的导数,是y'(t-pi)function dyp = delyp(t,y)     dyp = t-pi;end

%history.m文件:描述方程的初试条件function y = history(t)    y = cos(t);end

使用ddensd函数解这个方程。也就是说上面的四个自定义的函数是ddensd的参数。

%求当t属于[0,pi]时微分方程的解:上面定义的函数是ddensd的参数tspan = [0 pi];sol = ddensd(@ddefun,@dely,@delyp,@history,tspan);

  得到y的局部阈:

tn = linspace(0,pi);yn = deval(sol,tn);
画图:

plot(tn,yn);xlim([0 pi]);ylim([-1.2 1.2]);xlabel('time t');ylabel('solution y');

效果图:


参考网址:http://cn.mathworks.com/help/matlab/ref/ddensd.html#btjkz3u-1


0 0
原创粉丝点击