原先使用了solve函数,结果只返回了一个值
后来使用了fsolve函数,这个函数本身只能返回一个值,但是我们可以通过图解法,将平衡点的大致范围进行确定,之后就可以使用x=fsolve('myfun',[-0.3,1]',optimset('Display','off'))这个语句就可以求出平衡点,这个语句,myfun是定义的一个函数,【】里的是一个大致范围,optimset我没有关心。之后就可以求出精准的平衡点。
关于图解法,首先,将方程组的变量降到最少,这样一个四阶微分方程组就可以化简成两个方程组,之后对这两个方程组分别使用绘图工具,就可以画出图像来。
在这里,我的方程是隐函数,所以,我使用的绘图语句是ezplot()
syms y z%确定变量是什么。
a=1.519;b=-0.04;rou=-0.5;u=0.1;ebu=0.45;
fun1=-y-1.5*tanh(-y+3.5*tanh(y)+0.45*tanh(z)+rou*y*(a+3*b*(u/ebu*y)^2))+1.5*tanh(y)-0.45*tanh(z)+rou*y*(a+3*b*(u/ebu*y)^2)==0;
fun2=-z+3*tanh(-y+3.5*tanh(y)+0.45*tanh(z)+rou*y*(a+3*b*(u/ebu*y)^2))-2*tanh(y)+1.5*tanh(z)==0;
ezplot(fun1);
hold on
ezplot(fun2);
之后就可以得到他们的图解范围,就可以知道平衡点的大致范围,之后就可以进行全部根的精准求解