MATLAB学习记录-系统的数学模型-(状态空间表达式的建模)-自动控制篇
状态空间表达式的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˙=⎣⎡3111.20.160.500.1⎦⎤X+⎣⎡103⎦⎤U
Y=[112]XY=\left[\begin{matrix}1&1&2\\\end{matrix}\right]XY=[112]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学习记录-系统的数学模型-(状态空间表达式的建模)-自动控制篇相关推荐
- Matlab学习记录-矩阵的生成
Matlab学习记录-矩阵的生成 matlab中生成矩阵有两种方式: 1.中括号加分号. 中括号表示矩阵,分号表示分行:每一行之间的元素可以用逗号分开也可以用空格分开: 例如 a=[1 2 3; 4 ...
- Matlab学习记录 1
文章目录 Matlab学习记录 使用帮助文档 Matlab读取CSV文件 MATLAB查看变量的类型 Matlab 提取矩阵 某一行 或者 某一列 的方法 mic的计算 矩阵下标从1开始 矩阵转置 获 ...
- Matlab——学习记录篇1番外篇——hold on与hold off的区别
重点重点!!!!!!!本人使用的Matlab版本是R2021b,如果下面代码在别的版本运行之后有bug显示的话,需要自己到百度寻找相应的函数把错误的地方替换 继上一篇学习记录篇1,编程的时候一直对ho ...
- 一时兴起之matlab学习记录
是学习记录,会有错误的地方 安装的话看其他文章把 小操作 查看历史命令 在输入命令的地方,按下↑的方向键即可 模糊查找使用过的命令 在输入命令的地方,输入一个字母,按下↑会弹出一个以输入字母开头的历史 ...
- matlab中quat2angle,matlab 学习记录
(1)元胞数组的创建 a={'matlab',20;ones(2,3),1:10} %创建方法一 b=[{'matlab' ...
- 计算机图形学学习记录 系统及图形硬件
图形应用数据结构 图形数据文件: 几何信息/拓扑信息/视觉属性信息/非几何数据信息 专用.通用的数据集表示物体的性质:数据基础 特定格式的文件形式:OBJ.3ds等 图形应用软件: 如3DMax.Ma ...
- 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, ...
- matlab 学习记录
Matlab 基础知识 续行书写 设置当前文件夹 函数总结 向量与矩阵 矩阵引用 删除矩阵元素 矩阵算法 特殊矩阵 矩阵变换 矩阵求值 矩阵特征值与特征向量 字符串 字符串比较 字符串函数总结 基本语 ...
- matlab学习记录之基本操作整理
文章目录 一些常用命令 数据结构相关 数值,比较,运算 变量初始化 画图操作 画图线的颜色,线的形式,符号形式和图例 一些常用命令 clc清空命令窗口内容,clf清空当前图像窗口中的内容,clear清 ...
最新文章
- canvas绘制的文字如何换行
- 坦白讲!做 Java 工程师,挺好!
- DMG MORI AKTIENGESELLSCHAFT
- OGC之路(1) 之 WMS标准学习总结
- .NET 大数据实时计算--学习笔记
- php乱码调试,NotePad++ 调试PHP代码中文显示乱码
- 告别只会调参和调包,全球顶会论文审稿人带你7天玩转图像分割
- 常见的Activity Action Intent常量
- zedboard板子上呼吸灯的实现(第一版)
- Git 报错:error: The requested URL returned error: 401 Unauthorized while accessing
- “我的开源项目被科技巨头拿去做产品了,注释中连名字都被删掉了”
- SQL Prompt 没激活联网后突然无法使用 解决办法
- 用华秋DFM处理Allegro PCB文件
- android中jni的调用过程,android JNI学习② JNI调用过程
- BLEU——机器翻译评测
- 2.2.9 12306火车订票验证码处理
- python数据可视化学习之随机漫步
- python-字符串练习1
- 直击美团“远程面试”现场,面试官竟反问:你真懂数据库事务吗?
- 与ChatGPT合作解析《三体》数学
热门文章
- php网站访问统计,php访问量统计-小风博客 - XiaoFeng Blog - 佘佳栋的个人博客
- 使用ffmpeg开源库将h264封装为mp4格式
- rrt算法 c语言,未知环境下改进的基于RRT算法的移动机器人路径规划
- 微信小程序登录注册页面代码
- 【精解】EOS TPS 多维实测
- SpringBoot+SQL Server2000驱动版本踩坑
- ad9中两个不同工程的PCB文档等文件比较
- 浅谈java单元测试框架junit4/5
- C 标准库 (stdio.h 介绍)
- 计算机二级vb语言题库百度云,2016计算机二级VB语言考试题与答案