MATLAB 控制系统设计与仿真 - 34

多变量系统知识回顾 - MIMO system

这一章对深入理解多变量系统以及鲁棒分析至关重要

首先,对于如下系统:

当G(s)为单输入,单输出系统时:

如果:

则:

所以

因此,对于SISO,系统的增益跟w有关系,

当G(s)为MIMO时,例如2X2时,

假设输入信号为:

输出信号为:

则:

对于MIMO,系统的输入和输出均为矢量矩阵,所以系统的增益为:

因此对于MIMO,根据上式可知,系统的增益跟输入信号的方向有关系。

下面用具体的实例来进一步说明。

例如:

根据:

可知:

其中,在系统的响应中

为G的最大singular value,为G的最小singular value

用MATLAB求取矩阵的singular value的代码如下:

Matlab 复制代码
clear all;clc;
G1=[5 4; 3 2];
[U S V]=svd(G1)

程序运行结果如下:

Matlab 复制代码
U =

   -0.8718   -0.4899
   -0.4899    0.8718


S =

    7.3434         0
         0    0.2724


V =

   -0.7937    0.6083
   -0.6083   -0.7937

所以:

如果取横坐标为:,纵坐标为:,我们可以得到如下图示结果:

如果G是一个传递函数呢?

例如:,我们可以利用MATLAB得到在一定频率范围内,系统的最大相应。

MATLAB 代码如下:

Matlab 复制代码
clear all;clc;
s=tf('s');
G=[1/(s^2+2*s+100) 1/(s+50); 1/s+10 1/(s+300)];
sigma(G)
grid on

程序运行结果如下:

根据上述结果,我们可以知道在频率大于1rad/s时,系统的最大相应为20dB。

接下来我们将引入鲁棒分析的设计概念。

最后,欢迎大家有问题给我留言。

非常感谢小伙伴们的-点赞-收藏-加关注。

相关推荐
badhope3 小时前
Mobile-Skills:移动端技能可视化的创新实践
开发语言·人工智能·git·智能手机·github
码云数智-园园4 小时前
微服务架构下的分布式事务:在一致性与可用性之间寻找平衡
开发语言
C++ 老炮儿的技术栈5 小时前
volatile使用场景
linux·服务器·c语言·开发语言·c++
hz_zhangrl5 小时前
CCF-GESP 等级考试 2026年3月认证C++一级真题解析
开发语言·c++·gesp·gesp2026年3月·gespc++一级
Liu628885 小时前
C++中的工厂模式高级应用
开发语言·c++·算法
IT猿手5 小时前
基于控制障碍函数的多无人机编队动态避障控制方法研究,MATLAB代码
开发语言·matlab·无人机·openclaw·多无人机动态避障路径规划·无人机编队
_Ningye5 小时前
STM32 — 6.1 TIM定时中断
stm32·单片机·嵌入式硬件
AI科技星5 小时前
全尺度角速度统一:基于 v ≡ c 的纯推导与验证
c语言·开发语言·人工智能·opencv·算法·机器学习·数据挖掘
sunwenjian8866 小时前
Java进阶——IO 流
java·开发语言·python
波特率1152006 小时前
const关键字与函数的重载
开发语言·c++·函数重载