我是靠谱客的博主 笨笨手机,这篇文章主要介绍Chapter7:非线性控制系统分析,现在分享给大家,希望可以做个参考。

基于胡寿松主编的《自动控制原理》(第七版)附录的MATLAB控制系统简单教程,可直接阅读教材附录,内容完全一样,没有大改动。



7.非线性控制系统分析

  1. 微分方程高阶数值解法

    复制代码
    1
    2
    3
    4
    5
    6
    命令格式:[t,x]=ode45('fun',t,x0) 参数说明: fun:调用函数; t:设定的仿真时间; x0:系统的初始状态;
  2. 实例分析:非线性系统的稳定性分析

    ExampleB-8: 设系统如下图所示,分别用描述函数法和相平面法判断系统的稳定性,并画出 c ( 0 ) = − 3 , c ˙ ( 0 ) = 0 c(0)=-3,dot{c}(0)=0 c(0)=3,c˙(0)=0,的相轨迹和相应的时间响应曲线;
    1
    解:

    【描述函数法】

    非线性环节的描述函数为:
    N ( A ) = 2 π [ arcsin ⁡ 2 A + 2 A 1 − ( 2 A ) 2 ] , A ≥ 2 N(A)=frac{2}{pi}left[arcsinfrac{2}{A}+frac{2}{A}sqrt{1-left(frac{2}{A}right)^2}right],A≥2 N(A)=π2 arcsinA2+A21(A2)2 A2
    在复平面内分别绘制线性环节的 Γ G Gamma_G ΓG曲线和负倒描述函数 − 1 / N ( A ) -1/N(A) 1/N(A)曲线,由于 G ( s ) G(s) G(s)为线性环节:
    G ( s ) = − 1 N ( A ) G(s)=-frac{1}{N(A)} G(s)=N(A)1
    利用频域奈氏判据可知,若 Γ G Gamma_G ΓG曲线不包围 − 1 / N ( A ) -1/N(A) 1/N(A)曲线,则非线性系统稳定;反之,则非线性系统不稳定;

    复制代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    % exampleB_8a.m G=zpk([],[0 -1],1); % 建立线性环节模型; nyquist(G);hold on % 绘制线性环节奈奎斯特曲线ΓG,图形保持; A=2:0.01:60; % 设定非线性环节输入信号振幅范围; % 计算负倒描述函数实部和虚部; x=real(-1./((2*(asin(2./A)+(2./A).*sqrt(1-(2./A).^2)))/pi+j*0)); y=imag(-1./((2*(asin(2./A)+(2./A).*sqrt(1-(2./A).^2)))/pi+j*0)); plot(x,y); % 绘制非线性环节的负倒描述函数; axis([-1.5 0 -1 1]);hold off % 重新设置图形坐标,取消图形保持;

2
图中 Γ G Gamma_G ΓG曲线不包围 − 1 / N ( A ) -1/N(A) 1/N(A)曲线,根据非线性稳定判据,该非线性系统稳定;

【相平面法】

描述该系统的微分方程为:
c ¨ + c ˙ = { 2 , c < − 2 − c , ∣ c ∣ < 2 − 2 , c > 2 ddot{c}+dot{c}= begin{cases} 2,&c<-2\ -c,& |c|<2\ -2,& c>2 end{cases} c¨+c˙= 2,c,2,c<2c<2c>2
在相平面上精确绘制 c − c ˙ c-dot{c} cc˙曲线,需要先确定上述系统微分方程在一定初始条件下的解,进而通过分析相轨迹的运动形式,直观地判断非线性系统的稳定性;

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
% exampleB_8b.m t=0:0.01:30; % 设定仿真时间30s; c0=[-3 0]'; % 给定初始条件; [t,c]=ode45('fun',t,c0); % 求解初始条件下的系统微分方程; figure(1) plot(c(:,1),c(:,2));grid % 绘制相平面图,c(:,1)为c(t)值,c(:,2)为导数值; figure(2) plot(t,c(:,1));grid; % 绘制系统时间响应曲线; xlabel('t(s)');ylabel('c(t)');
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
% fun.m function dc=fun(t,c) % 描述系统的微分方程 dc1=c(2); % c1表示c(t),c(2)表示c(t)一阶导,d表示一阶导数; if(c(1)<-2) dc2=2-c(2); elseif(abs(c(1))<2) dc2=-c(1)-c(2); else dc2=-2-c(2); end dc=[dc1 dc2]';

3
5
由上图可知,系统振荡收敛,系统的奇点为稳定焦点;
3. 自动控制原理理论基础参考链接

最后

以上就是笨笨手机最近收集整理的关于Chapter7:非线性控制系统分析的全部内容,更多相关Chapter7内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(77)

评论列表共有 0 条评论

立即
投稿
返回
顶部