带matlab的线性微分方程组

时间:2015-01-11 05:19:13

标签: matlab linear differential-equations

我想解决n个线性微分方程组:

dx(t)/dt=A(t)*x(t)

其中:

x(t)=(x1(t) , x2(t) , ... , xn(t))

A(t)n*n矩阵。我有矩阵A(t)n以及初始条件x(0)=x0作为输入。如何编写用于求解微分方程组的Matlab代码。

我可以编写已知n的代码,例如n=2n=3(代码如下),但我不知道如何为不同的n编写代码?


下面的代码解决了'n = 3'的方程组,其中

     A=[ -t   -10    0
         28   -1    -t
          1    1   -8 ]

和初始条件

    x1(0)=-8 
    x2(0)=8 
    x3(0)=27

包含方程式的MATLAB M文件如下所示:

     function xprime = xderivatives(t,x)
     xprime=[-t*x(1) - 10*x(2); 28*x(1) - x(2) - t*x(3); -8*x(3) + x(1) + x(2)];

主要文件是:

     x0=[-8 8 27];   % initial condition
     tspan=[0,20];   
     [t,x]=ode45(@xderivatives,tspan,x0)
     plot(x(:,1),x(:,2))

非常感谢。

0 个答案:

没有答案