精华内容
下载资源
问答
  • 自编劳斯判据判断系统稳定性Matlab函数
    2021-04-20 01:31:24

    function [routh_list,conclusion] = Routh(chara_equ)

    % =======================================================

    % 自编劳斯判据求解系统稳定性函数

    % 输入:

    % chara_equ = 特征方程向量

    % 输出:

    % routh_list = 劳斯表

    % conclusion = 给出系统是否稳定或存在多少个不稳定的根的结论

    % example:

    % [routh_list,con] = Routh([1 2 3 4 5]);

    % return:

    % routh_list =

    %

    %      1     3     5

    %      2     4     0

    %      1     5     0

    %     -6     0     0

    %      5     0     0

    % con =

    %

    % There is 2 unstable roots!

    % =========================================================

    n=length(chara_equ);

    chara_equ=reshape(chara_equ,1,n);

    if mod(n,2)==0

    n1=n/2;

    else

    n1=(n+1)/2;

    chara_equ=[chara_equ,0];

    end

    routh=reshape(chara_equ,2,n1);

    routh_list=zeros(n,n1);

    routh_list(1:2,:)=routh;

    i=3;

    while 1;

    %  =========特殊情况1(第一列为0,其余列不为0)=====================

    if routh_list(i-1,1)==0 & sum(routh_list(i-1,2:n1))~=0

    chara_equ = conv(chara_equ,[1 3]);

    n=length(chara_equ);

    if mod(n,2)==0

    n1=n/2;

    else

    n1=(n+1)/2;

    chara_equ=[chara_equ,0];

    end

    routh=reshape(chara_equ,2,n1);

    routh_list=zeros(n,n1);

    routh_list(1:2,:)=routh;

    i=3;

    end

    % ==========计算劳斯表===========================================

    ai=routh_list(i-2,1)/routh_list(i-1,1);

    for j=1:n1-1

    routh_list(i,j)=routh_list(i-2,j+1)-ai*routh_list(i-1,j+1);

    end

    % ==========特殊情况2(全0行)======================================

    if sum(routh_list(i,:))==0

    k=0;

    l=1;

    F=zeros(1,n1);

    while n-i-k>=0

    F(l)=n-i+1-k;

    k=k+2;

    l=l+1;

    end

    routh_list(i,:)=routh_list(i-1,:).*F(1,:);

    end

    % =========更新==================================================

    i=i+1;

    if i>n

    break;

    end

    end

    % =============outhput===========

    r=find(routh_list(:,1)<0);

    if isempty(r)==1

    conclusion='The system is stable!';

    else

    n2=length(r);

    m=n2;

    for i=1:n2-1

    if r(i+1)-r(i)==1

    m=m-1;

    end

    end

    str1='There is ';

    if r(n2)==n

    str2=num2str(m*2-1);

    else

    str2=num2str(m*2);

    end

    str3=' unstable roots!';

    conclusion = [str1,str2,str3];

    end

    有点错误     很急  高手帮个忙吧     谢谢   真心感谢

    更多相关内容
  • 信号与系统实验仿真系统的MATLAB实现-系统稳定性判断程序.m 《信号与系统》实验仿真系统的MATLAB实现 程序的名字说明了程序的功能:)
  • matlab判断系统稳定性 -Routh劳斯判据

    千次阅读 2020-07-26 13:30:42
    1.系统稳定的必要条件 设系统特征方程为: D(s)=ansn+an−1sn−1+⋯+a1s+a0=0\boldsymbol{D}(s)=\boldsymbol{a}_{n} \boldsymbol{s}^{n}+\boldsymbol{a}_{n-1} \boldsymbol{s}^{n-1}+\cdots+\boldsymbol{a}_{1} s+\...

    Routh(稳定判据)-代数判据(依据根与系数的关系判断根的分布)

    1.系统稳定的必要条件

    设系统特征方程为:
    D ( s ) = a n s n + a n − 1 s n − 1 + ⋯ + a 1 s + a 0 = 0 \boldsymbol{D}(s)=\boldsymbol{a}_{n} \boldsymbol{s}^{n}+\boldsymbol{a}_{n-1} \boldsymbol{s}^{n-1}+\cdots+\boldsymbol{a}_{1} s+\boldsymbol{a}_{0}=\boldsymbol{0} D(s)=ansn+an1sn1++a1s+a0=0

    s n + a n − 1 a n s n − 1 + ⋯ + a 1 a n s + a 0 a n = ( s − s 1 ) ( s − s 2 ) ⋯ ( s − s n ) s^{n}+\frac{a_{n-1}}{a_{n}} s^{n-1}+\cdots+\frac{a_{1}}{a_{n}} s+\frac{a_{0}}{a_{n}}=\left(s-s_{1}\right)\left(s-s_{2}\right) \cdots\left(s-s_{n}\right) sn+anan1sn1++ana1s+ana0=(ss1)(ss2)(ssn)
    特征根是: s 1 , s 2 , s 3 . . . s_1,s_2,s_3... s1,s2,s3...

    比较系数:
    a n − 1 a n = − ∑ i = 1 n s i , a n − 2 a n = ∑ i ≤ j i = 1 , j = 2 n s i s j \frac{a_{n-1}}{a_{n}}=-\sum_{i=1}^{n} s_{i}, \quad \frac{a_{n-2}}{a_{n}}=\sum_{i \leq j \atop i=1, j=2}^{n} s_{i} s_{j} anan1=i=1nsi,anan2=i=1,j=2ijnsisj
    a n − 3 a n = − ∑ i < j < k i = 1 , j = 2 , k = 3 n s i s j s k , a 0 a n = ( − 1 ) n ∏ i = 1 n s i \frac{a_{n-3}}{a_{n}}=-\sum_{i<j<k \atop i=1, j=2, k=3}^{n} s_{i} s_{j} s_{k}, \quad \frac{a_{0}}{a_{n}}=(-1)^{n} \prod_{i=1}^{n} s_{i} anan3=i=1,j=2,k=3i<j<knsisjsk,ana0=(1)ni=1nsi

    系统稳定的必要条件:
    各系数同号且不为零

    a n > 0 , a u − 1 > 0 , … , a 1 > 0 , a 0 > 0 a_{\mathrm{n}}>0, a_{\mathrm{u}-1}>0, \ldots, a_{1}>0, a_{0}>0 an>0,au1>0,,a1>0,a0>0

    2.系统稳定的充要条件

    特征方程: D ( s ) = a n s n + a n − 1 s n − 1 + ⋯ + a 1 s + a 0 = 0 \boldsymbol{D}(s)=\boldsymbol{a}_{n} \boldsymbol{s}^{n}+\boldsymbol{a}_{n-1} \boldsymbol{s}^{n-1}+\cdots+\boldsymbol{a}_{1} s+\boldsymbol{a}_{0}=\mathbf{0} D(s)=ansn+an1sn1++a1s+a0=0

    Routh表:
    s n a n a n − 2 a n − 4 a n − 6 ⋯ s n − 1 a n − 1 a n − 3 a n − 5 a n − 7 ⋯ s n − 2 A 1 A 2 A 3 A 4 ⋯ s n − 3 B 1 B 2 B 3 B 4 ⋯ ⋮ ⋮ ⋮ ⋮ s 2 D 1 D 2 s 1 E 1 s 0 F 1 \begin{array}{lllllll} s^{n} & a_{n} & a_{n-2} & a_{n-4} & a_{n-6} & \cdots \\ s^{n-1} & a_{n-1} & a_{n-3} & a_{n-5} & a_{n-7} & \cdots \\ s^{n-2} & A_{1} & A_{2} & A_{3} & A_{4} & \cdots \\ s^{n-3} & B_{1} & B_{2} & B_{3} & B_{4} & \cdots \\ \vdots & & \vdots & \vdots & \vdots \\ s^{2} & D_{1} & D_{2} & & & \\ s^{1} & E_{1} & & & & \\ s^{0} & F_{1} & & & & \end{array} snsn1sn2sn3s2s1s0anan1A1B1D1E1F1an2an3A2B2D2an4an5A3B3an6an7A4B4

    其中:
    A 1 = a n − 1 a n − 2 − a n a n − 3 a n − 1 B 1 = A 1 a n − 3 − a n − 1 A 2 A 1 A 2 = a n − 1 a n − 4 − a n a n − 5 a n − 1 B 2 = A 1 a n − 5 − a n − 1 A 3 A 1 A 3 = a n − 1 a n − 6 − a n a n − 7 a n − 1 B 3 = A 1 a n − 7 − a n − 1 A 4 A 1 \begin{array}{cl} A_{1}=\frac{a_{n-1} a_{n-2}-a_{n} a_{n-3}}{a_{n-1}} & B_{1}=\frac{A_{1} a_{n-3}-a_{n-1} A_{2}}{A_{1}} \\ A_{2}=\frac{a_{n-1} a_{n-4}-a_{n} a_{n-5}}{a_{n-1}} & B_{2}=\frac{A_{1} a_{n-5}-a_{n-1} A_{3}}{A_{1}} \\ A_{3}=\frac{a_{n-1} a_{n-6}-a_{n} a_{n-7}}{a_{n-1}} & B_{3}=\frac{A_{1} a_{n-7}-a_{n-1} A_{4}}{A_{1}} \end{array} A1=an1an1an2anan3A2=an1an1an4anan5A3=an1an1an6anan7B1=A1A1an3an1A2B2=A1A1an5an1A3B3=A1A1an7an1A4

    Routh判据:
    Routh表中第一列各元符号改变的次数等于系统特征方程具有正实部特征根的个数。
    因此,系统稳定的充要条件是Routh表中第一列各元的符号均为正,且值不为零。
    上面的内容都来自[1]

    ###########################下面是matlab计算routh表######################

    例1.系统的特征方程
    D ( s ) = s 4 + s 3 − 19 s 2 + 11 s + 30 = 0 \mathbf{D}(s)=s^{4}+s^{3}-19 s^{2}+11 s+30=0 D(s)=s4+s319s2+11s+30=0

    Routh表:
    s 4 1 − 19 30 s 3 1 11 0 s 2 1 × ( − 19 ) − 1 × 11 1 = − 30 30 0 ( 改 变 符 号 一 次 ) s 1 ( − 30 ) × 11 − 1 × 30 − 30 = 12 0 0 ( 改 变 符 号 一 次 ) s 0 30 0 0 \begin{array}{lccc} s^{4} & \mathbf{1} & \mathbf{- 1 9} & \mathbf{3 0} \\ s^{3} & \mathbf{1} & \mathbf{1 1} & \mathbf{0} \\ s^{2} & \frac{\mathbf{1} \times(-\mathbf{1 9})-\mathbf{1} \times \mathbf{1 1}}{\mathbf{1}}=-\mathbf{3 0} & \mathbf{3 0} & \mathbf{0}(改变符号一次) \\ s^{1} & \frac{(-\mathbf{3 0}) \times \mathbf{1 1}-\mathbf{1} \times \mathbf{3 0}}{-\mathbf{3 0}}=\mathbf{1 2} & \mathbf{0} & \mathbf{0}(改变符号一次) \\ s^{0} & \mathbf{3 0} & \mathbf{0} & \mathbf{0} \end{array} s4s3s2s1s01111×(19)1×11=3030(30)×111×30=1230191130003000()0()0

    routh_compute.m计算得到:
    [ 1, -19, 30]
    [ 1, 11, 0]
    [ -30, 30, 0]
    [ 12, 0, 0]
    [ 30, 0, 0]

    Matlab实验结果分析:
    由于第一列元素没有全部为正,因此该系统不稳定.

    特别地有:

    系统阶数n的值充要条件
    二阶2 a 2 > 0 , a 1 > 0 , a 0 > 0 a_{2}>0, \quad a_{1}>0, \quad a_{0}>0 a2>0,a1>0,a0>0
    三阶3 a 3 > 0 , a 2 > 0 , a 0 > 0 , a 1 a 2 − a 0 a 3 > 0 a_{3}>0, \quad a_{2}>0, \quad a_{0}>0, \quad a_{1} a_{2}-a_{0} a_{3}>0 a3>0,a2>0,a0>0,a1a2a0a3>0

    Reference:
    [1系统的稳定性常见判据

    展开全文
  • matlab判断李雅普诺夫稳定性

    千次阅读 2021-12-06 10:52:35
    李雅普诺夫稳定性matlab仿真程序 李雅普诺夫稳定性判别有两种方法,直接法和间接法。直接法是求解状态方程的特征多项式,判断极点位置,全在左半平面则稳定。间接法是最常用的判断稳定性方法,无需求解,只要构造一...

    李雅普诺夫稳定性matlab仿真程序

    李雅普诺夫稳定性判别有两种方法,直接法和间接法。直接法是求解状态方程的特征多项式,判断极点位置,全在左半平面则稳定。间接法是最常用的判断稳定性方法,无需求解,只要构造一个广义李雅普诺夫函数V,使得V正定,而V负定(半负定还需进一步判断),但是V的构造常常不容易,计算机求解常用.在这里插入图片描述

    一、直接法

    以四阶状态方程为例

    A=[-3 -6 -2 -1;1 0 0 0;0 1 0 0;0 0 0 1];
    B=[1;0;0;0];
    C=[0 0 1 1];		%状态矩阵
    [~,namda]=eig(A);   %求解特征值
    P=diag(namda);
    real(P)  			%特征值取实部
    if(P<0)
        a='特征值实部均小于0,系统在平衡点渐进稳定'
    else
        a='存在特征值实部大于0,系统不稳定'
    end
    

    二、间接法

    以三阶状态方程矩阵为例

    A=[1 -3.5 4.5;2 -4.5 4.5;-1 1.5 -2.5];
    B=[-0.5 -0.5 -0.5];
    C=[1 0 1];				%状态方程矩阵
    Q=eye(3);
    P=lyap(A.',Q)
    if(P(1,1)>0&&det(P(1:2,1:2))>0&&det(P)>0)
        a='P正定,故系统在平衡位置渐进稳定'
    else
        a='P非正定,故系统在平衡位置不稳定'
    end
    

    matlab内部已经有封装好的函数,直接调用就可以。

    展开全文
  • matlab分析系统稳定性的方法.doc

    千次阅读 2021-04-24 02:38:43
    matlab分析系统稳定性的方法.doc MATLAB在控制系统稳定性判定中的应用稳定是控制系统的重要性能,也是系统能够工作的首要条件,因此,如何分析系统的稳定性并找出保证系统稳定的措施,便成为自动控制理论的一个基本任务...

    41528d3028836879cd698677c3999917.gifmatlab分析系统稳定性的方法.doc

    MATLAB在控制系统稳定性判定中的应用稳定是控制系统的重要性能,也是系统能够工作的首要条件,因此,如何分析系统的稳定性并找出保证系统稳定的措施,便成为自动控制理论的一个基本任务线性系统的稳定性取决于系统本身的结构和参数,而与输入无关线性系统稳定的条件是其特征根均具有负实部在实际工程系统中,为避开对特征方程的直接求解,就只好讨论特征根的分布,即看其是否全部具有负实部,并以此来判别系统的稳定性,由此形成了一系列稳定性判据,其中最重要的一个判据就是劳斯判据。劳斯判据给出线性系统稳定的充要条件是系统特征方程式不缺项,且所有系数均为正,劳斯阵列中第一列所有元素均为正号,构造劳斯表比用求根判断稳定性的方法简单许多,而且这些方法都已经过了数学上的证明,是完全有理论根据的,是实用性非常好的方法具体方法及举例一用系统特征方程的根判别系统稳定性设系统特征方程为S5S42S32S23S50,计算特征根并判别该系统的稳定性。在COMMANDWINDOW窗口输入下列程序,记录输出结果。P112235ROOTSP二用根轨迹法判别系统稳定性对给定的系统的开环传递函数1.某系统的开环传递函数为,在COMMANDWINDOW窗口输入程序,记录系统闭环零极点图及零极点数据,判断该闭环系统是否稳定。CLEARN10251D10510S1TFN1,D1SYSFEEDBACKS1,1PSYSDEN{1}PROOTSPPZMAPSYSP,ZPZMAPSYS2.某系统的开环传递函数为,在COMMANDWINDOW窗口输入程序,记录系统开环根轨迹图、系统开环增益及极点,确定系统稳定时K的取值范围。CLEARN1DCONV110,051SYSTFN,DRLOCUSSYSK,POLESRLOCFINDSYS频率特性法判别系统的稳定性三BODE图法1.已知系统开环传递函数,在COMMANDWINDOW窗口输入程序,用BODE图法判稳,记录运行结果,并用阶跃相应曲线验证(记录相应曲线)1)绘制开环系统BODE图,记录数据。NUM7500021DENCONV10,116100SYSTFNUM,DENGM,PM,WCG,WCPMARGINSYSMARGINSYS2)绘制系统阶跃响应曲线,证明系统的稳定性。NUM7500021DENCONV10,116100STFNUM,DENSYSFEEDBACKS,1T000130STEPSYS,T四NYQUIST图法1.已知系统开环传递函数,在COMMANDWINDOW窗口输入程序,用NYQUIST图法判稳,记录运行结果,并用阶跃相应曲线验证(记录相应曲线)。1)绘制NYQUIST图,判断系统稳定性。CLEARNUM10000DEN151000GHTFNUM,DENNYQUISTGH五用阶跃响应曲线验证系统的稳定性已知系统开环传递函数判断系统的稳定性程序如下NUM10000DEN151000STFNUM,DENSYSFEEDBACKS,1T000106STEPSYS,T学习心得与体会通过这几周的MATLAB课程的学习,我了解到了MATLAB在自动控制系统分析中的重要意义,在学习过程中,我体会到了MATLAB的在控制系统分析中的快速性与方便性在学习中也遇到了不少问题,经过老师的细心指导,对MATLAB的学习能够更进一步最后,感谢老师对我学习上的帮助和鼓励

    展开全文
  • 基于MATLAB系统稳定性能判定.pdf
  • MATLAB判别控制系统稳定性

    千次阅读 2021-10-08 14:27:56
    MATLAB判别控制系统稳定性 需要用到的函数: 1.直接判定:eig函数 使用方法: >> eig(A) eig函数用于求取特征值和特征向量,此 MATLAB 函数 返回一个列向量,其中包含方阵 A 的特征值。 不论系统的模型A是...
  • matlab判断系统稳定性 -Nyquist图(极坐标图)判据(还没有搞完。。。。。。。)
  • MATLABsimulink稳定性分析时域分析

    千次阅读 2021-04-30 03:48:18
    1、1,7.1,控制系统的稳定性分析,1,利用极点判断系统的稳定性,判断一个线性系统稳定性的一种最有效的,方法是直接求出系统所有的极点,然后根据极,点的分布情况来确定系统的稳定性,2,系统特征方程的一般形式为,对于...
  • 线性系统稳定性分析的MATLAB分析方法MATLAB设计___________________________________________________线性系统稳定性分析的MATLAB分析方法电气工程学院班级:10自动化3班学号:姓名:指导老师:线性系统稳定性分析的...
  • PAGE / NUMPAGES 基于MATLAB的李雅普诺夫第二法稳定性分析 引言对于一个给定的控制系统稳定性是系统的一个重要特性稳定性是系统正常工作的前提是系统的一个动态属性在控制理论工程中无论是调节器理论观测器理论还是...
  • 名为 routh_sc 的 m 文件,表示 ROUTH 稳定性准则,它是一个向量,该向量表示系统传递函数中分母的特征系数方程的值。 它是一个带有功效算法的小程序,尊重方法中提到的步骤,并将表格显示为矩阵(但仅适用于 6.5 和...
  • matlab分析系统稳定性

    千次阅读 2021-04-19 05:45:42
    matlab分析系统的稳定性 MATLAB分析系统稳定性,导 师: 张静 答辩组:第14组 专 业:电子信息工程,论文框架,,摘要 系统稳定性定义 分析方法 感言,1,,2,,3,,4,摘要,随着信息科学和计算机的迅速发展,数字信号处理的理论...
  • 系统响应及系统稳定性

    千次阅读 2021-04-24 14:56:22
    3、分析、观察及检验系统稳定性。二、实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统...
  • 基于Matlab的控制系统稳定性判定,matlab判断系统稳定性,matlab系统稳定性,matlab控制系统仿真,matlab控制系统,matlab控制系统工具箱,matlab控制系统实例,matlab稳定性分析,matlab电力系统仿真,matlab系统辨识工具箱...
  • Matlab在控制系统稳定性判定中的应用稳定是控制系统的重要性能,也是系统能够工作的首要条件,因此,如何分析系统的稳定性并找出保证系统稳定的措施,便成为自动控制理论的一个基本任务.线性系统的稳定性取决于系统本身...
  • Matlab 在线性系统稳定性判断中的应用.pdf
  • 基于MATLAB系统稳定性能判定

    千次阅读 2021-04-20 05:44:20
    系统分 析最直接的方法是求取 系统的阶跃响应并画 出 响应 曲线 ,这在人工分析时 很难 办到,但是 用MATLAB软件 来完 成却很容易,而且还便于研究某些参数对 系统性能的影响。我们仍 以高阶 闭环传递 函数为 例来...
  • MATLAB仿真实验全部

    2021-04-22 02:24:20
    实用文档实验一 MATLAB 及仿真实验(控制系统的时域分析)一、实验目的学习利用MATLAB 进行控制系统时域分析,包括典型响应、判断系统稳定性和分析系统的动态特性;二、预习要点1、 系统的典型响应有哪些?2、 如何...
  • 控制系统稳定性分析的MATLAB实现

    千次阅读 2021-04-18 12:56:06
    控制系统稳定性分析的MATLAB实现一、实验目的1.熟悉MATLAB的仿真及应用环境。2.在MATLAB的环境下研究控制系统稳定性。二、实验内容和要求1.学会使用MATLAB中的代数稳定判据判别系统稳定性;2.学会使用MATLAB中的...
  • 毕业论文---基于Matlab系统稳定性分析 基于基于 MatlabMatlab系统稳定性分析的系统稳定性分析 摘要摘要 稳定性系统的实际应用中非常的重要, 本文介绍了系统稳定性的概念, 论述了常用判定系统稳定...
  • 基于MATLAB的控制系统稳定性分析分析四川师范大学本科毕业设计基于MATLAB的控制系统稳定性分析学生姓名宋宇院系名称工学院专业名称电气工程及其自动化班 级 2010 级 1 班学 号2010180147指导教师杨楠完成时间2014年 ...
  • Matlab 在线性系统稳定性判断中的应用.rar
  • 系统稳定性分析

    万次阅读 2018-06-14 12:51:46
    只要求出系统的闭环极点即可,而系统的闭环极点就是闭环传递函数的分母多项式的根,可以利用MATLAB中的tf2zp函数求出系统的零极点,或者利用root函数求分母多项式的根来确定系统的闭环极点,从而判断系统稳定性。...
  • 线性系统稳定性分析的MATLAB方法 ;...根轨迹法判断系统稳定性;奈奎斯特图法判断系统稳定性;波特图法判断系统稳定性;1画波特图 MATLAB文本如下 G=tf([1280 600],[1 24 1600 300 20]; margin(G) 运行结果为;谢谢观看
  • 1、实验 控制系统稳定性分析的MATLAB实现一、 实验目的1 熟悉MATLAB的仿真及应用环境2 在MATLAB的环境下研究控制系统稳定性二、 实验内容和要求1 学会使用MATLAB中的代数稳定判据判别系统稳定性2 学会使用MATLAB中.....
  • 根据零极点判断系统稳定性 基本要求 1.掌握利用Matlab软件绘制零极点图 2.学会利用零极点判断系统稳定性 1 Xidian University, ICIE. All Rights Reserved Matlab绘制零极点图判断稳定 K1.19 Matlab
  • 一个 MATLAB 程序,用于获取给定系统的 Routh 数组
  • 利用极点判断系统的稳定性 判断一个线性系统稳定性的一种最有效的 方法是直接求出系统所有的极点然后根据极 点的分布情况来确定系统的稳定性 2 系统特征方程的一般形式为 对于连续时间系统如果闭环极点全部在 S ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,553
精华内容 1,421
关键字:

matlab判断系统稳定性

matlab 订阅
友情链接: OpenGL.rar