作业帮 > 综合 > 作业

如何用matlab解微分方程:dx/dt=x(t)*(1-X(t-1)).

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 03:38:56
如何用matlab解微分方程:dx/dt=x(t)*(1-X(t-1)).
x(0)=0吧.
这是一个延迟微分方程;MATLAB可以解这类延迟微分方程,但是是数值解法;所以需要之到一个初始条件x(0)的值;你能给出x(0)的值我可以帮你解 首先编写关于延迟函数的M文件;function dx=yanchi(t,x,z)tau=z;%定义延迟时间dx=x*(1-tau);%延迟函数接下来命令求解>> tau=1;%给定延迟时间>> history=0;%初始值>> tapan[0,10];%求解时间范围>> sol=dde23(@yanchi,tau,history,tapan);%延迟问题求解>> plot(sol.x,sol.y);%作图下面附上了图片x(0)=0和x(0)=2的情况显然初始值不同结果不同,这就是为什么需要初始值的情况