\[x01=[-2\ -1]';x02=[2\ 1]';x03=[-0.5\ -2]';x04=[0.5\ 2]';\]
\[[t,x1]=\text{ode45}('sys810',t,x01);[t,x2]=\text{ode45}('sys810',t,x02);\]
\[[t,x3]=\text{ode45}('sys810',t,x03);[t,x4]=\text{ode45}('sys810',t,x04);\]
plot(x1(:,1),x1(:,2),x2(:,1),x2(:,2),x3(:,1),x3(:,2),x4(:,1),x4(:,2));grid
调用函数:sys810.m
function dx=sys810(t,x)
dx1=x(2);
dx2=-2*x(2)-0.75*x(1);
dx=[dx1 dx2]';

图 8-28 非线性系统的相轨迹(MATLAB)
8-11 设非线性系统如图 8-29 所示,输入为单位斜坡函数,试在 \(\dot e-e\) 平面上绘制相轨迹图。
解 由结构图可知,系统线性部分的微分方程为 \(u=\ddot c\),非线性环节部分的输出为
\[
u=\begin{cases}
+1, & \begin{cases} e>0 \\ -1<e<0,\ \dot e<0 \end{cases} \\[2mm]
-1, & \begin{cases} e<-1 \\ -1<e<0,\ \dot e>0 \end{cases}
\end{cases}
\]

图 8-29 非线性系统结构图
根据比较点处有 \(e=r-c=t-c,\dot e=1-\dot c,\ddot e=-\ddot c\)。综合上述各式可得相轨迹方程为
\[
\ddot e=\begin{cases}
-1, & \begin{cases} e>0 \\ -1<e<0,\ \dot e<0 \end{cases} \\[2mm]
1, & \begin{cases} e<-1 \\ -1<e<0,\ \dot e>0 \end{cases}
\end{cases}
\]
开关线为 \(e=0,e=-1\)。
当 \(\ddot e=-1\) 时 \(\dot e\dfrac{\mathrm{d}\dot e}{\mathrm{d}e}=-1,\quad \dot e\mathrm{d}\dot e=-\mathrm{d}e\)
积分并整理后可得 \(\dfrac{1}{2}\dot e^2=-e+C_1\) (抛物线)
当 \(\ddot e=1\) 时 \(\dot e\dfrac{\mathrm{d}\dot e}{\mathrm{d}e}=1,\quad \dot e\mathrm{d}\dot e=\mathrm{d}e\)
积分并整理后可得 \(\dfrac{1}{2}\dot e^2=e+C_2\) (抛物线)
其中 \(C_1,C_2\) 分别为由系统分段处的初始条件决定的系数。最后,利用下列 MATLAB 程序绘制系统的相轨迹曲线如图 8-30 所示。由图 8-30 可知,系统是振荡发散的。
MATLAB程序:exe811.m
t=0:0.01:20;e0=[0 1]';[t,e]=ode45('sys811',t,e0);
plot(e(:,1),e(:,2));grid
· 436 ·