matlab求解时滞微分方程

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)。

*注意:该函数返回的sol中结构体sol.x和sol.y均为按行排列,与ode45等不同

看下面例子:

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

程序如下:

(1) 编写延迟函数

function dx = ddefun(t,y,Z)

A = [0,1;0,j];
B = [0,0;-1,-3];

tau1= Z(:,1);
tau2= Z(:,2);

v=A*y+B*ylag1; 

(1) 编写主调函数

  

时间: 2024-07-31 12:10:34

matlab求解时滞微分方程的相关文章

[Matlab]求解线性方程组

转自:http://silencethinking.blog.163.com/blog/static/911490562008928105813169/ AX=B或XA=B在MATLAB中,求解线性方程组时,主要采用前面章节介绍的除法运算符“/”和“\”.如: X=A\B表示求矩阵方程AX=B的解: X=B/A表示矩阵方程XA=B的解. 对方程组X=A\B,要求A和B用相同的行数,X和B有相同的列数,它的行数等于矩阵A的列数,方程X=B/A同理. 如果矩阵A不是方阵,其维数是m×n,则有: m=

matlab求解线性方程组

模电题现在看来是不用matlab解方程不可做了orz 绝望,各种绝望,平时不努力到了期末季就焦虑得不行. 左除法就好 x=A/b; 如果有符号变量,用syms声明一下就好. 越来越懒了orz好吧,解线性方程组这种毫无技术含量的东西用matlab倒是没啥.但是求积分可不能依赖matlab了,现在我积分水平暴低,简直药丸orz

Matlab基础学习-----------Matlab求解常微分方程边值问题的方法

算法代码 solinit =bvpinit(linspace(0,4,5),[1 0]); % linspace(0,4,5)为初始网格,[1,0]为初始估计值 sol=bvp4c(@twoode,@twobc,solinit); % twoode与twobc分别为微分方程与边界条件的函数,solinit为结构 x=linspace(0,4); %确定x范围 y=deval(sol,x); %确定y范围 plot(x,y(1,:)); %画出y-x的图形 %定义twoode函数(下述代码另存为工

利用matlab求解方程组的解

? 定解方程组 ? 计算过程: ? ? 注意: 矩阵系数中,逗号和分号的使用 矩阵除法用反斜杠 矩阵中的值提取用小括号,行列数从1开始算 ? 不定方程组 未知数大于方程数,其解有无数个,matlab可以求出其中一个特定解 计算过程 ?

Matlab求解线性方程组Ax=b的几种常见方法Matlab求解线性方程组Ax=b的几种常见方法

原文:http://blog.csdn.net/stzh_bk/article/details/70983856 例如方程组: 法1:左除法 >> A=[3 1 -1;1 2 4;-1 4 5];b=[3.6;2.1;-1.4]; >> x=A\b x = 1.4818 -0.4606 0.3848 法2:求逆法 >> A=[3 1 -1;1 2 4;-1 4 5];b=[3.6;2.1;-1.4]; >> x=inv(A)*b x = 1.4818 -0.

MATLAB求解浸润角

1.概述 通过后处理软件获得流场数据的密度云图,做出附着于壁面上液滴或气泡在接触点上的切线,测量可以获得浸润角度,手工做切线存在较大的自由度,所得的角度往往并不精确,可以考虑用圆拟合液滴或者气泡,通过拟合出的圆半径及圆心位置,则可以精确的计算出相应的角度,相比做切向的方法,准确度有较大的提升,但是如果还是通过手工来找准这个拟合圆,则数据准确性也受影响,可以考虑采用程序,通过图像处理的方式获取相应的信息,下面是大致的实现思路: 从数据文件中获取流场数据 从密度云图图像提取相界面处密度等值线 通过等

matlab求解方程系数

x1=[1;4]; y1=[0.01;0.8]; p=fittype('(1+a1*(x1-b1)^-2)^-1', 'independent','x1');%定义函数定义自变量 opt=fitoptions(p); opt.StartPoint=[0.1 0.1];%设置初始参数 f1=fit(x1,y1,p,opt)

matlab 求解线性方程组之范数

1.赋范线性空间和内积空间 在线性代数的初级教材里,一般是在向量空间中定义内积,然后再由内积来导出范数,比如在n维实向量空间中: |x||=√<x,x> 在线性代数的高级教材中,一般是将内积和范数单独来定义的,而这之间可能并没有直接的关系.在向量空间中引入范数,可以得到一个赋范线性空间(normed linear space),在向量空间中引入内积,可以得到一个内积空间(inner product space).定义如下: 内积空间的性质 cauchy-schwarz不等式 由内积导出的范数所

matlab学习笔记第六章——基本符号演算和微分方程

1.MATLAB可以使用limit命令计算极限. >> syms x >> limit((x^3 + 1)/(x^4 + 2)) ans = 1/2 2.我们可以在MATLAB中调用isequal命令检查两个量是否相等,如果两个量不相等,isequal返回0. 3.我们使用下面的语法可以计算limx→∞f(x)形式的极限:limit(f,inf). 4.计算左右极限:我们必须给函数传递用来计算极限的变量和“left”.“right”字串,并用逗号分隔开. 5.通过调用diff命令,