方法如下:先建立一个微分方程组的子函数:
function f=funx1_3(t,x)
f=zeros(3,1);
f(1)=sin(x(3))+cos(x(3))./sin(x(2));
x(2)=cos(x(3))-sin(x(3));
x(3)=1-(sin(x(3))+cos(x(3))).*cot(x(2));
return
再在主界面里调用:
[T,F] = ode45(@funx1_3,[0 12],[0 0 0]);
画图也很容易:
plot(T,F)
但是初值全是0的话解出来的是不是有问题就难说,给个非零数会不会好些,我提供了代码,你可以自己多尝试几组数据.
吾是这样考虑的:
syms x1 x2 x3
f=Dx1-(sin(x3)+cos(x3))/sin(x2);
g=Dx2-cos(x3)+sin(x3);
h=Dx3+(sin(x3)+cos(x3))*cos(x2)-1;
[x1,x2,x3]=solve(f,g,h];
不过,Dx1好像不太对,各位高手参考。
可不可以先人工算出来