微分方程组中含有rectpuls函数怎么用写代码代码呢,比如:
dx/dt=A(t)+0.2xy;
dy/dt=5y(t-0.3)+2x;
A(t)=0.2*rectpuls(t-t1,d1)
求求大佬帮解!
可以使用常微分方程的数值解法来求,代码如下:
function DfunTest
[T,X] = ode45(@Dfun,[0 1],[0.1 -0.1]);
figure
plot(T,X)
end
function Dx = Dfun(t,X)
x = X(1);
y = X(2);
t1 = 0.1;
d1 = 0.2;
dx = 0.2*rectpuls(t-t1,d1)+0.2*x*y;
dy = 5*y*(t-0.3)+2*x;
Dx = [dx;dy];
end
结果: