MATLAB中被控对象模型建立的几种方法
1、 传递函数模型
首先将分子分母多项式用向量表示,然后利用MATLAB的控制系统工具箱中的tf函数建立传递函数模型,具体如下:
tf函数常用用法见下表:
表1.1 tf函数用法
还有一些其他的相关函数如下:
表 1.2 MATLAB中构建传递函数相关函数
接下来举几个例子:
例1-1 利用MATLAB建立如下传递函数模型
1)方法1
代码:
num=[2 1]; %分子多项式
den=[1 2 4 1]; %分母多项式
G=tf(num,den)
结果:
G =2 s + 1---------------------s^3 + 2 s^2 + 4 s + 1
Continuous-time transfer function.
方法(2)
代码:
s=tf('s'); %先定义Laplace算子
G=(2*s+1)/(s^3+2*s^2+4*s+1)
结果:
G =2 s + 1---------------------s^3 + 2 s^2 + 4 s + 1
Continuous-time transfer function.
2、 零极点模型
调用zpk(z,p,K)函数完成零极点函数模型的创建。
调用zpk(z,p,K)函数完成零极点函数模型的创建。
表1.3 zpk函数用法
表1.4其他相关函数
注意:当pamap函数有返回值时不在绘制零极点分布图
例1-2 试用MATLAB建立以下传递函数。
方法(1)
代码:
z1=[-5;-5]; %为零点赋值
p1=[-1;-2;-2-2*j;-2+2*j]; %为极点赋值
k=4; %为增益赋值
G1=zpk(z1,p1,k) %得到系统模型
结果:
G1 =4 (s+5)^2--------------------------(s+1) (s+2) (s^2 + 4s + 8)
Continuous-time zero/pole/gain model.
方法(2)
代码:
s=zpk('s'); %定义算子
G2=4*(s+5)^2/(s+1)/(s+2)/(s^2+4*s+8)
结果:
G2 =4 (s+5)^2--------------------------(s+1) (s+2) (s^2 + 4s + 8)Continuous-time zero/pole/gain model.
方法2需要注意的是,对于共轭复数表示的零极点,需要展开成二阶多项式的形式。
3、 状态空间模型
(1)由A,B,C,D矩阵直接创建状态控制模型
sys=ss(A,B,C,D)
(2)对于离散的状态空间模型,需要设置采样时间Ts
sys=ss(A,B,C,D,Ts)
同样,也可以通过ssdata()函数来获得状态方程对象参数
[A,B,C,D]=ssdata(sys) 获得连续系统参数
[A,B,C,D,Ts]=ssdata(sys) 获得离散系统参数
例1-3 利用ss命令创建以下状态空间模型
代码:
A=[6 5 4;1 0 0;0 1 0]; %给状态矩阵A赋值
B=[1 0 0]; %给输入矩阵B赋值
C=[0 6 7]; %给输出矩阵C赋值
D=[0]; %给前馈矩阵D赋值
G=ss(A,B,C,D) %输入并显示系统状态空间模型
结果:
G =A = x1 x2 x3x1 6 5 4x2 1 0 0x3 0 1 0B = u1x1 1x2 0x3 0C = x1 x2 x3y1 0 6 7D = u1y1 0
Continuous-time state-space model.
4、 模型之间的转化
在实际的控制系统设计中,给出的模型跟我们需要的模型可能不是一种描述方式,所以MATLAB为我们提供了不同模型之间转换的函数。主要分为两大类,一类是将其他类型的模型转化成所需模型;另一种是将已有的模型转化成其他形式的模型。
表 1.5 将其他类型的模型转化成所需模型
表1.6 将现有模型转化成其他类型的模型
MATLAB中被控对象模型建立的几种方法相关推荐
- matlab传函零极点形式,2013实验一 MATLAB 中控制系统模型的建立与仿真
实验一 MATLAB 中控制系统模型的建立与仿真 一. 实验目的 (1)熟悉MATLAB 控制系统工具箱中线性控制系统传递函数模型的相关函数. (2)熟悉SIMULINK 模块库,能够使用SIMULI ...
- matlab中提示错误使用* BLAS loading error解决方法
matlab中提示错误使用* BLAS loading error解决方法 参考文章: (1)matlab中提示错误使用* BLAS loading error解决方法 (2)https://www. ...
- matlab中画的图导出高分辨率图片的方法
论文投稿时要求分辨率要300dpi,在 matlab 中画的图导出300dpi图片的方法如下: 如何画图我就不介绍了,假设已经把图画出来了,如下图所示: 直接保存或者另存为图片的分辨率很低,因此要这么 ...
- 安卓在子线程中实现更新UI界面的三种方法 Handler+Message、runOnUiThread、控件.post()
1.说明 安卓中UI线程为主线程,更新UI界面必须在主线程中进行,在子线程中实现更新UI界面的三种方法:Handler.RunOnUiThread.控件.post() 2.1 Handler (1)定 ...
- java中map嵌套map_java中遍历MAP,嵌套map的几种方法
java中遍历MAP的几种方法 Map map=new HashMap(); map.put("username", "qq"); map.put(" ...
- C++对类中字符串成员进行初始化的两种方法以及友元函数的使用
在C++之中,如果要建立一个类,且类中需要有字符串数据成员,我们可以把该成员声明成两种类型. 第一种方法:使用头文件string,把字符串数据成员声明为string类的对象,用这种方法对字符串操作十分 ...
- JS获取URL中参数值(QueryString)的4种方法分享
http://www.jb51.net/article/48942.htm JS获取URL中参数值(QueryString)的4种方法分享 作者: 字体:[增加 减小] 类型:转载 今天碰到要在一个页 ...
- 在HTML中使用CSS美化网页的三种方法
在HTML中使用CSS美化网页的三种方法 CSS是Cascading Style Sheets(级联样式表)的缩写,CSS是一种样式表语言,用于为HTML文档定义布局.例如,CSS涉及字体.颜色.边距 ...
- shell实例第19讲:一个脚本中调用另一个脚本的3种方法
在Shell脚本中调用另一个脚本(3种方法) 准备:主脚本是second.sh,主脚本中调用first.sh 方法1:exec(1)执行方式:exec /home/weibo/shell_test/s ...
最新文章
- php 请求方式,PHP发起HTTP请求有哪几种方式?
- 分享3个好用到爆的 Python 模块,点赞收藏
- 达沃斯群英纵论人工智能,核心观点汇总
- 2.6_Database Interface JDBC及驱动类型
- 触发器——创建||更新||删除||查看
- SQL语句执行顺序以及oracle基本查询优化
- php 获取设备,PHP获取设备类型实例代码
- VMware Workstation 8下Ubuntu 13.04中安装VMware Tools出错
- 二叉树C++ | 深度优先遍历(前序、中序、后序)_3
- 树莓派安装DLNA实现流媒体服务器
- python3字符串操作_python3字符串常用方法
- cad画正弦曲线lisp_cadlisp基础教程.pdf
- 从个人网站到泛生活化平台 百货之家背后的故事
- PySpark | Spark3新特性 | Spark核心概念
- Vizard基础操作
- matlab移相法实现单边带调制,根据Matlab 单边带体系仿真研讨
- 华为数字化转型之道 结语 数字化转型的8个成功要素
- (三)兴趣对于工作的重要性
- qq文件怎么传到百度云_如何将手机百度网盘中的文件发送给微信或qq好友 看完就明白了...
- 复制文本功能兼容 微信ios 火狐浏览器
热门文章
- 六.基于行为经济学的政策设计(北大行为经济学笔记)
- 电脑更新BIOS之后opencore消失,使用EasyUEFI重建opencore的引导
- html判断是否在页面,js判断页面关闭
- 天池新人实战赛——阿里移动推荐算法大赛(离线赛与平台赛)
- 【连载】物联网全栈教程-从云端到设备(十二)---最简单的单片机上云方法!...
- 计算机启动F1正在准备自动修复,电脑正在准备自动修复(电脑一直循环自动修复)...
- C语言实现各个排序算法(直接插入排序,折半插入排序,希尔排序,冒泡排序,简单选择排序)
- 大整数运算(高精度运算)C/C++
- c语言正方形和三角形面积,【c语言】计算长方形,三角形和圆形的面积,根据用户的选择求不同形状的面积。...
- 强化学习之多臂老虎机(Multi-Armed-Bandit)问题