状态空间表达式的MATLAB建模

设本节中,具有r个输入、m个输出的n阶线性定常系统的状态空间表达式为
X˙(t)=AX(t)+BU(t)\dot{X}(t)=AX\left(t\right)+BU\left(t\right)X˙(t)=AX(t)+BU(t)
Y(t)=CX(t)+DU(t)Y(t)=CX(t)+DU(t)Y(t)=CX(t)+DU(t)
其中,X(t)=[x1(t)⋮xn(t)],U(t)=[u1(t)⋮ur(t)],Y(t)=[y1(t)⋮ym(t)]X(t)=\left[\begin{matrix}x_1(t)\\\vdots\\x_n(t)\\\end{matrix}\right],U(t)=\left[\begin{matrix}u_1(t)\\\vdots\\u_r(t)\\\end{matrix}\right],Y(t)=\left[\begin{matrix}y_1(t)\\\vdots\\y_m(t)\\\end{matrix}\right]X(t)=⎣⎢⎡​x1​(t)⋮xn​(t)​⎦⎥⎤​,U(t)=⎣⎢⎡​u1​(t)⋮ur​(t)​⎦⎥⎤​,Y(t)=⎣⎢⎡​y1​(t)⋮ym​(t)​⎦⎥⎤​
A=[a11⋯a1n⋮⋱⋮an1⋯ann],B=[b11⋯b1r⋮⋱⋮bn1⋯bnr],C=[c11⋯c1n⋮⋱⋮cm1⋯cmn],D=[d11⋯d1r⋮⋱⋮dm1⋯dmr]A=\left[\begin{matrix}a_{11}&\cdots&a_{1n}\\\vdots&\ddots&\vdots\\a_{n1}&\cdots&a_{nn}\\\end{matrix}\right],B=\left[\begin{matrix}b_{11}&\cdots&b_{1r}\\\vdots&\ddots&\vdots\\b_{n1}&\cdots&b_{nr}\\\end{matrix}\right],C=\left[\begin{matrix}c_{11}&\cdots&c_{1n}\\\vdots&\ddots&\vdots\\c_{m1}&\cdots&c_{mn}\\\end{matrix}\right],D=\left[\begin{matrix}d_{11}&\cdots&d_{1r}\\\vdots&\ddots&\vdots\\d_{m1}&\cdots&d_{mr}\\\end{matrix}\right]A=⎣⎢⎡​a11​⋮an1​​⋯⋱⋯​a1n​⋮ann​​⎦⎥⎤​,B=⎣⎢⎡​b11​⋮bn1​​⋯⋱⋯​b1r​⋮bnr​​⎦⎥⎤​,C=⎣⎢⎡​c11​⋮cm1​​⋯⋱⋯​c1n​⋮cmn​​⎦⎥⎤​,D=⎣⎢⎡​d11​⋮dm1​​⋯⋱⋯​d1r​⋮dmr​​⎦⎥⎤​
A——n×\times×n阶矩阵,反映系统内部状态的联系,称为系统矩阵
B——n×\times×r阶矩阵,反映输入对系统内部状态的作用,称为输入矩阵(或控制矩阵
C——m×\times×n阶矩阵,反映系统内部状态对输出的作用,称为输出矩阵
D——m×\times×r阶矩阵,反映输入对输出的直接传递关系,称为直接传递矩阵。(多数情况下系统存在着惯性,其直接传递矩阵通常为零)

在MATLAB中,将各个矩阵记为

>> X=[x1;x2;...;xn];
>> U=[u1;u2;...;un];
>> Y=[y1;y2;...;yn];
>> A=[a1 a2 ... a1n;a21 a22 ... a2n;......;an1 an2 ... ann];
>> B=[b1 b2 ... b1r;b21 b22 ... b2r;......;bn1 bn2 ... bnr];
>> C=[c1 c2 ... c1n;c21 c22 ... c2n;......;cm1 cm2 ... cmn];
>> D=[d1 d2 ... d1r;d21 d22 ... d2r;......;dm1 dm2 ... dmr];

需要用到的函数:
ss函数:用于建立系统的状态空间模型。

>> g=ss(A,B,C,D);

使用范例:
已知系统的状态空间表达式
X˙=[310.511.20.1600.1]X+[103]U\dot{X}=\left[\begin{matrix}\begin{matrix}3&1\\\end{matrix}&0.5\\\begin{matrix}\begin{matrix}1\\1.2\\\end{matrix}&\begin{matrix}0.1\\6\\\end{matrix}\\\end{matrix}&\begin{matrix}0\\0.1\\\end{matrix}\\\end{matrix}\right]X+\left[\begin{matrix}1\\0\\3\\\end{matrix}\right]UX˙=⎣⎡​3​1​11.2​​0.16​​​0.500.1​​⎦⎤​X+⎣⎡​103​⎦⎤​U
Y=[112]XY=\left[\begin{matrix}1&1&2\\\end{matrix}\right]XY=[1​1​2​]X
MATLAB中建立系统的状态空间表达式和传递函数的多项式形式和零-极点形式模型。

>> A=[3 1 0.5; 1 0.1 0; 1.2 6 0.1];
%输入系统矩阵
>> B=[1;0;3];
%输入输入矩阵
>> C=[1 1 2];
%输入输出矩阵
>> D=0;
>%输入直接传递矩阵
>> g=ss(A,B,C,D)
%建立系统状态空间表达式模型
g =A = x1   x2   x3x1    3    1  0.5x2    1  0.1    0x3  1.2    6  0.1B = u1x1   1x2   0x3   3C = x1  x2  x3y1   1   1   2D = u1y1   0Continuous-time state-space model.
>> g=tf(g)
%执行此命令得到系统多项式形式的传递函数模型
g =7 s^2 - 13.9 s + 8.82-----------------------------s^3 - 3.2 s^2 - 0.99 s - 2.87Continuous-time transfer function.>> g=zpk(g)
%执行此命令得系统零-极点形式的传递函数模型
g =7 (s^2 - 1.986s + 1.26)----------------------------------(s-3.681) (s^2 + 0.4808s + 0.7797)Continuous-time zero/pole/gain model.>> [num,den]=ss2tf(A,B,C,D)
%执行此命令得系统传递函数多项式形式的分子、分母多项式系数
num =0    7.0000  -13.9000    8.8200den =1.0000   -3.2000   -0.9900   -2.8700>> [z,p]=ss2zp(A,B,C,D)
%执行此命令得系统得零-极点。z为零点,p为极点。
z =0.9929 + 0.5237i0.9929 - 0.5237ip =3.6808 + 0.0000i-0.2404 + 0.8497i-0.2404 - 0.8497i

MATLAB学习记录-系统的数学模型-(状态空间表达式的建模)-自动控制篇相关推荐

  1. Matlab学习记录-矩阵的生成

    Matlab学习记录-矩阵的生成 matlab中生成矩阵有两种方式: 1.中括号加分号. 中括号表示矩阵,分号表示分行:每一行之间的元素可以用逗号分开也可以用空格分开: 例如 a=[1 2 3; 4 ...

  2. Matlab学习记录 1

    文章目录 Matlab学习记录 使用帮助文档 Matlab读取CSV文件 MATLAB查看变量的类型 Matlab 提取矩阵 某一行 或者 某一列 的方法 mic的计算 矩阵下标从1开始 矩阵转置 获 ...

  3. Matlab——学习记录篇1番外篇——hold on与hold off的区别

    重点重点!!!!!!!本人使用的Matlab版本是R2021b,如果下面代码在别的版本运行之后有bug显示的话,需要自己到百度寻找相应的函数把错误的地方替换 继上一篇学习记录篇1,编程的时候一直对ho ...

  4. 一时兴起之matlab学习记录

    是学习记录,会有错误的地方 安装的话看其他文章把 小操作 查看历史命令 在输入命令的地方,按下↑的方向键即可 模糊查找使用过的命令 在输入命令的地方,输入一个字母,按下↑会弹出一个以输入字母开头的历史 ...

  5. matlab中quat2angle,matlab 学习记录

    (1)元胞数组的创建 a={'matlab',20;ones(2,3),1:10}                                        %创建方法一 b=[{'matlab' ...

  6. 计算机图形学学习记录 系统及图形硬件

    图形应用数据结构 图形数据文件: 几何信息/拓扑信息/视觉属性信息/非几何数据信息 专用.通用的数据集表示物体的性质:数据基础 特定格式的文件形式:OBJ.3ds等 图形应用软件: 如3DMax.Ma ...

  7. matlab学习记录

    %矩阵 a=[1,2,3;4,5,6;7,8,9] %在Matlab在存储矩阵时,是一列一列存储的 a(3) %位置3的元素(竖着数) a(2,1) %a第2行第1列个元素 b=[1,1,1;2,2, ...

  8. matlab 学习记录

    Matlab 基础知识 续行书写 设置当前文件夹 函数总结 向量与矩阵 矩阵引用 删除矩阵元素 矩阵算法 特殊矩阵 矩阵变换 矩阵求值 矩阵特征值与特征向量 字符串 字符串比较 字符串函数总结 基本语 ...

  9. matlab学习记录之基本操作整理

    文章目录 一些常用命令 数据结构相关 数值,比较,运算 变量初始化 画图操作 画图线的颜色,线的形式,符号形式和图例 一些常用命令 clc清空命令窗口内容,clf清空当前图像窗口中的内容,clear清 ...

最新文章

  1. 技术宅硬核跨年,DIY墨水屏日历:自动刷新位置、天气,随机播放2000多条「毒鸡汤」| 开源...
  2. 关键词为什么迟迟不上首页?太令人“捉急”了!
  3. 最近python为什么这么火-现在为什么 Python 这么火?
  4. 继承_月隐学python第16课
  5. HTML+CSS+JS实现 ❤️响应式团队❤️
  6. 周五下午3.5h直播丨今年第1期大咖讲坛:数据库高可用容灾方案的实践与探索...
  7. 模型修饰在无人机航测实景三维模型生产中的应用——以SVSMeshEditor软件为例
  8. 关于jdk11没有jre
  9. JSTL迭代操作--c:forEach,c:forTokens
  10. 除了php云和骑士还有什么_骑士CMS是什么开源程序
  11. 中文句法分析_句法分析StanfordParser+依存句法分析pyhanlp
  12. 怎么把html导入xmind,XMind思维导图怎么导入图标?
  13. AD ADSI入门
  14. VS2010 调试C++项目 fatal error LNK1123 错误解决办法
  15. 如何使用JavaScript滚动到页面顶部?
  16. 新华社 | 郭为:IT构架创新助力中国金融科技创新之路
  17. Swift 类型的检査与转换(is,as,AnyObject,Any)
  18. Wireshark怎么抓包、wireshark抓包详细图文教程 [最新绿色版本version 2.6.1 ]
  19. CSS 与 地图可视化 三棱锥 (九)
  20. 香港旅游攻略香港旅游购物指南

热门文章

  1. 长内容生成pdf 防止内容pdf分页隔断
  2. Visio——软件工程实验壹——面向对象需求分析方法
  3. [Python图像处理] 使用高通滤波器实现同态滤波
  4. 科研闭环指南|学术论文撰写经验总结
  5. windows7桌面找不到计算机名,win7系统桌面上的图标没有文件名如何解决?
  6. Linux系统源码安装mysql
  7. 智能穿戴手表/手环的应用方案说明
  8. C#编程-125:ASCII码表
  9. 在Windows 10中HP 5100打印出来是黑方框的解决方法
  10. SQL数据库损坏,数据库数据恢复!