MATLAB判别控制系统的稳定性

MATLAB判别控制系统的稳定性

需要用到的函数:

1.直接判定:eig函数
使用方法:

>> eig(A)

eig函数用于求取特征值和特征向量,此 MATLAB 函数 返回一个列向量,其中包含方阵 A 的特征值。
不论系统的模型A是传递函数、状态方程还是零极点模型,且不论系统是连续还是离散的,均可以使用eig函数。

2.图解判定:pzmap函数
使用方法:

>> pzmap(A)

用图形的方式绘制出系统所有特征根在S复平面上的位置,所以判定连续系统是否稳定只需看系统所有极点在S复平面上是否位于虚轴左侧即可。同样,对于离散系统,观察零极点的位置是否位于单位圆内即可判定其稳定性。

3.其他函数:控制系统模型建立,详见
MATLAB学习记录-传递函数的建模1(多项式形式的传递函数模型)-自动控制篇
MATLAB学习记录-传递函数的建模2(零-极点形式的传递函数模型)-自动控制篇
MATLAB学习记录-系统的数学模型-(状态空间表达式的建模)-自动控制篇

例:高阶连续系统稳定性的判断
G ( s ) = 10 s 4 + 50 s 3 + 100 s 2 + 100 s + 40 s 7 + 21 s 6 + 184 s 5 + 870 s 4 + 2384 s 3 + 3664 s 2 + 2496 s G\left(s\right)=\frac{{10s}^4+{50s}^3+100s^2+100s+40}{s^7+{21s}^6+{184s}^5+{870s}^4+{2384s}^3+{3664s}^2+2496s} G(s)=s7+21s6+184s5+870s4+2384s3+3664s2+2496s10s4+50s3+100s2+100s+40

>> clear all
>> num=[10,50,100,100,40];
>> den=[1,21,184,870,2384,3664,2496,0];
>>%%输入系统的传递函数
>> G=tf(num,den)		%建立系统的传递函数

G =
 
              10 s^4 + 50 s^3 + 100 s^2 + 100 s + 40
  ---------------------------------------------------------------
  s^7 + 21 s^6 + 184 s^5 + 870 s^4 + 2384 s^3 + 3664 s^2 + 2496 s
 
Continuous-time transfer function.

>> GG=feedback(G,1)		%求系统单位反馈传递函数

GG =
 
                 10 s^4 + 50 s^3 + 100 s^2 + 100 s + 40
  --------------------------------------------------------------------
  s^7 + 21 s^6 + 184 s^5 + 880 s^4 + 2434 s^3 + 3764 s^2 + 2596 s + 40
 
Continuous-time transfer function.

>> pzmap(GG)		%绘制零极点图
>> eig(GG)			%求系统特征值

ans =

  -6.9223 + 0.0000i
  -3.6502 + 2.3020i
  -3.6502 - 2.3020i
  -2.0633 + 1.7923i
  -2.0633 - 1.7923i
  -2.6349 + 0.0000i
  -0.0158 + 0.0000i

在这里插入图片描述

例:高阶离散系统稳定性的判断
H ( z ) = 6 z 2 − 0.6 z − 0.12 z 4 − z 3 + 0.25 z 2 + 0.25 z − 0.125 H\left(z\right)=\frac{6z^2-0.6z-0.12}{z^4-z^3+{0.25z}^2+0.25z-0.125} H(z)=z4z3+0.25z2+0.25z0.1256z20.6z0.12

>> clear all
>> den=[1 -1 0.25 0.25 -0.125];
>> num=[6 -0.6 -0.12];
>> H=tf(num,den,'Ts',0.1)

H =
 
          6 z^2 - 0.6 z - 0.12
  -------------------------------------
  z^4 - z^3 + 0.25 z^2 + 0.25 z - 0.125
 
Sample time: 0.1 seconds
Discrete-time transfer function.

>> z=tf('z','Ts',0.1)

z =
 
  z
 
Sample time: 0.1 seconds
Discrete-time transfer function.

>> Gc=0.3*(z-0.6)/(z+0.8);
>> GG=feedback(H*Gc,1)

GG =
 
          1.8 z^3 - 1.26 z^2 + 0.072 z + 0.0216
  ------------------------------------------------------
  z^5 - 0.2 z^4 + 1.25 z^3 - 0.81 z^2 + 0.147 z - 0.0784
 
Sample time: 0.1 seconds
Discrete-time transfer function.

>> pzmap(GG),abs(eig(GG)')

ans =

    1.1644    1.1644    0.5536    0.3232    0.3232

在这里插入图片描述

#修改了部分错误 12/25/2022

  • 16
    点赞
  • 173
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
Matlab是一个功能强大的工具,可以用来进行控制系统建模和稳定性分析。下面是一个简单的步骤: 1. 建立系统模型 控制系统的建模是使用Matlab进行控制系统设计的第一步。建立系统模型需要确定系统的输入,输出和状态变量,并使用数学方程描述它们之间的关系。Matlab中可以使用多种方式建立系统模型,包括传递函数、状态空间和零极点等等。 2. 分析系统稳定性 控制系统稳定性是指系统在输入信号变化时,输出始终趋于稳定状态的能力。Matlab中可以使用多种方法分析系统稳定性,包括极点分析、根轨迹分析和频率响应分析等等。这些方法可以帮助确定系统稳定性,找到系统可能出现的不稳定情况,并设计控制器来改善系统稳定性。 3. 设计控制器 控制器是控制系统中的核心部分,它可以根据系统输入和输出信号的差异来调整输出信号,从而使系统达到所需的控制效果。Matlab中可以使用多种方式设计控制器,包括经验设计、优化设计和自适应控制等等。 4. 仿真和验证 在完成控制器设计后,需要对系统进行仿真和验证,以确保系统在实际应用中能够达到预期效果。Matlab中可以使用多种工具进行仿真和验证,包括Simulink、Simscape和SimEvents等等。这些工具可以帮助设计人员对系统进行模拟,并通过实验数据验证系统稳定性和控制效果。 总之,Matlab是一种强大的控制系统设计工具,可以帮助控制系统设计人员建立系统模型、分析系统稳定性、设计控制器和进行仿真和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Blablabla...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值