状态空间表达式的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. canvas绘制的文字如何换行
  2. 坦白讲!做 Java 工程师,挺好!
  3. DMG MORI AKTIENGESELLSCHAFT
  4. OGC之路(1) 之 WMS标准学习总结
  5. .NET 大数据实时计算--学习笔记
  6. php乱码调试,NotePad++ 调试PHP代码中文显示乱码
  7. 告别只会调参和调包,全球顶会论文审稿人带你7天玩转图像分割
  8. 常见的Activity Action Intent常量
  9. zedboard板子上呼吸灯的实现(第一版)
  10. Git 报错:error: The requested URL returned error: 401 Unauthorized while accessing
  11. “我的开源项目被科技巨头拿去做产品了,注释中连名字都被删掉了”
  12. SQL Prompt 没激活联网后突然无法使用 解决办法
  13. 用华秋DFM处理Allegro PCB文件
  14. android中jni的调用过程,android JNI学习② JNI调用过程
  15. BLEU——机器翻译评测
  16. 2.2.9 12306火车订票验证码处理
  17. python数据可视化学习之随机漫步
  18. python-字符串练习1
  19. 直击美团“远程面试”现场,面试官竟反问:你真懂数据库事务吗?
  20. 与ChatGPT合作解析《三体》数学

热门文章

  1. php网站访问统计,php访问量统计-小风博客 - XiaoFeng Blog - 佘佳栋的个人博客
  2. 使用ffmpeg开源库将h264封装为mp4格式
  3. rrt算法 c语言,未知环境下改进的基于RRT算法的移动机器人路径规划
  4. 微信小程序登录注册页面代码
  5. 【精解】EOS TPS 多维实测
  6. SpringBoot+SQL Server2000驱动版本踩坑
  7. ad9中两个不同工程的PCB文档等文件比较
  8. 浅谈java单元测试框架junit4/5
  9. C 标准库 (stdio.h 介绍)
  10. 计算机二级vb语言题库百度云,2016计算机二级VB语言考试题与答案