用matlab 怎样求解复杂的微分方程组。

来源:百度知道 编辑:UC知道 时间:2024/05/21 15:59:14
用matlab 怎样求解复杂的微分方程组。
vx'=-(vx+1.4)*((vx+1.4)^2+vy^2+(vz-1.4)^2)^0.5;
vy'=-vy*((vx+1.4)^2+vy^2+(vz-1.4)^2)^0.5;
vz'=-(vz-1.4)*((vx+1.4)^2+vy^2+(vz-1.4)^2)^0.5;
其中:
vx(0)=1500;
vy(0)=-500;
vz(0)=0;

问的是微分方程!

只要把问题改写成 A*x=b的形势,然后告诉matlab,A和b是什么,matlab就可以解出x。比如下面的例子。
求下列联立方程组的解
3x+4y-7z-12w=4
5x-7y+4z+2w=-3
X +8z-5w=9
-6x+5y-2z+10w=-8
解决方法是
%将问题写成 A*x=b的形式。
A=[3,4,-7,-12;5,-7,4,2;1,0,8,-5;-6,5,-2,10];
b=[4;-3;9;-8];

%求x
x=inv(A)*b

比如:求方程组的解
5x+4z+2t=3
x-y+2z+t=1
4x+y=2z=1
x+y+z+t=0
程序:
S=solve('5*x+4*z+2*t=3','x-y+2*z+t=1','4*x+y+2*z=1','x+y+z+t=0')
disp('s.x='),disp(S.x)
disp('s.y='),disp(S.y)
disp('s.z='),disp(S.z)
disp('s.t='),disp(S.t)
结果:
s.x=
1

s.y=
-1

s.z=
-1

s.t=
1