• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

matlab求解时滞微分方程

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

matlab求解时滞微分方程,dde23调用格式:

sol = dde23(ddefun,lags,history,tspan);

--ddefun函数句柄,求解微分方程y\'=f(t,y(t),y(t-τ1),...,y(t-τk))

        必须写成下面形式:

        dydt =ddefun(t,y,Z);

        其中t对应当前时间t,y为列向量,近似于y(t);Z(:,j)近似于y(t-τj)

--lags为延迟时间,为正常数。

            例:方程中包含y1(t-0.2)和y2(t-1),则可以表示为lags=[0.2,1]

--history t≤t0 时的状态变量的值

--tspan 积分区间 t0 = tspan(1),tf =tspan(end)。

 

看下面例子:

      假定系统状态方程为dXdt =- Ax(t) - Bx(t-0.23)+Bx(t-0.56); A= [3,-1,-1,-1;-1,2,0,-1;-1,0,2,-1;-1,-1,-1,3];B=A;

 

程序如下:

     (1) 编写延迟函数

function dx = ddefun(t,y,Z)
A = [3,-1,-1,-1;-1,2,0,-1;-1,0,2,-1;-1,-1,-1,3]; tau1= Z(:,1); tau2= Z(:,2); dx=-A*y-A*tau1-A*tau2
;

 

 (1) 编写主调函数

 


tau = [0.23,0.56];
y0 = [1,7,3,0];
sol = dde23(@ddefun, tau, y0, [0, 50]);

% plot the system states

plot(sol.x,sol.y);

*注意:该函数返回的sol中结构体sol.x和sol.y均为按行排列,与ode45等不同
如只显示一组数据plot(sol.x,sol.y(1,:));

 

 

  


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Delphi调用BarTender打印条码标签简明开发教程 转发布时间:2022-07-18
下一篇:
delphiCheckListBox添加滚动条发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap