matlab仿真函数,matlab自动控制仿真常见函数应用
《matlab自动控制仿真常见函数应用》由会员分享,可在线阅读,更多相关《matlab自动控制仿真常见函数应用(11页珍藏版)》请在人人文库网上搜索。
1、自动控制常见MATLAB函数的应用roots/conv/rlocus/zpk/tf/bode/step/impulse1、 在matlab中采用roots函数求解多项式的根,采用conv函数实现多项式的积,相互连接的模块的模型求解也相当简单(1)、串联连接命令G=G1*G2(2)、并联连接命令G=G1G2(3)、反馈连接命令G=feedback(G1,G2,Sign)(sign用来表示系统是正反馈或负反馈,sign=-1为负反馈)例如:程序如下: p=1 3 0 4; roots(p)ans =-3.3553 0.1777 + 1.0773i0.1777 - 1.0773i、用matlab实现。
2、:程序如下: p=3 2 1;q=1 4; n=conv(p,q)n =3 14 9 4、一个传递函数模型,可以由下面的命令输入: num=1 5;den=1 3 4 5; G=tf(num,den)Transfer function:s + 5-s3 + 3 s2 + 4 s + 5、如下图所示,前向传递函数为G(S),反馈回路传递函数为H(S),利用feedback计算系统的闭环传递函数程序如下: numg=1;deng=500 0 0; numh=1 1;denh=1 2; num,den=feedback(numg,deng,numb,denh,-1); num,den=feedbac。
3、k(numg,deng,numh,denh,-1); G=tf(num,den)Transfer function:s + 2-500 s3 + 1000 s2 + s + 12、在matlab中,可以轻松的求解系统的所有极点,从而判断其稳定性例子:系统的传递函数为:用matlab判断其稳定性,程序如下: num=1,7,24,24; den=1:9; roots(den)ans =-1.2888 + 0.4477i-1.2888 - 0.4477i-0.7244 + 1.1370i-0.7244 - 1.1370i0.1364 + 1.3050i0.1364 - 1.3050i0.8767 。
4、+ 0.8814i0.8767 - 0.8814i可见4个极点带有正实部,所以系统不稳定3、 MATLAB中给出了一个函数step()直接求取线性系统的阶跃响应,该函数的调用方式如下:y=step(G, t)(G为系统的传递函数,t为要计算的点到所在时刻的值组成的时间向量,t一般可以由t=0:dt:t_end等步长地产生,t-end为终值时间,而dt为步长;y为系统的输出量)例子:系统的传递函数为:线性系统的稳态值可以通过dcgain()来求得,impulse()函数可以求出系统的脉冲响应程序如下: num=1,7,24,24;den=1,10,35,50,24; G=tf(num,den);。
5、 t=0:0.1:10; y=step(G,t); plot(t,y) Y=dcgain(G)Y =1 hold on y1=impulse(G,t); plot(t,y1)例子:控制精度变化时,系统的闭环传递函数为:应用如下MATLAB语言,可得到=10、=40、=80时的系统响应。可见,当 时,系统响应速度明显加快,但出现振荡程序如下: ka=80; nf=5000;df=1 1000; ng=1;dg=1 200; num,den=series(ka*nf,df,ng,dg); n,d=cloop(num,den); t=0:0.01:2; y=step(n,d,t); plot(t,y。
6、,black),grid on4、 用matlab绘制根轨迹MTLAB中提供了rlocus()函数,用来绘制给定的根轨迹,该函数的调用方式为:R= rlocus(G, K)(G为系统的模型,输入变量k为用户自己选择的增益,返回的变量R为根轨迹各点构成的复数矩阵)如果k值不给定,则该函数自动选择k,在这种情况下,调用格式为这样产生的k值可以用来确定闭环系统稳定的增益范围Rlocus(G)如果在函数调用中不返回任何参数,则将在图形窗口中自动绘制系统根轨迹曲线Rlocufind()函数允许用户求取根轨迹上指定点处的开环增益,并将该增益下的所有的闭环极点显示出来:K P=rlocufind(G)例子:。
7、闭环系统的闭环传递函数为:特征方程可以写为:在解题前,必须将特征方程写成下面形式:K为所关心的参数,变化范围从0到 ,绘制的根轨迹如下:程序如下: num=1 1; den=1 5 6 0; G=tf(num,den); hold on;rlocus(G); K,P=rlocfind(G)Select a point in the graphics windowselected_point =-2.4621 + 0.0248iK =0.4196P =-2.4655 + 0.0246i-2.4655 - 0.0246i-0.0690 例子:研究系统根轨迹曲线和阶跃响应曲线之间的关心,考虑系统输出。
8、:输入为单位阶跃信号时:程序如下: t=0:0.2:15; K=16.2859; num=K*1 4 3; den=1 5 6+K K; G=tf(num,den); y=step(G,t); plot(t,y) grid on5、 在MATLAB中,使用较多的频域稳定性函数有bode函数、nyquist函数、nichols函数、margin函数,pade函数,ngrid函数等。MATLAB的控制系统工具箱中提供了bode()函数来求取、绘制给给定线性系统的伯德图,函数调用方式如下:mag,pha=bode(G.,w)其中G为系统的对象模型,变量w为用户制定频率点构成的向量,该函数在这些频率点。
9、上对系统进行频率分析。mag、pha对应系统的幅值和相位向量,相位的单位为角度。同时经常要将幅值向量转换成分贝形式,MATLAB命令为:magdB=20*log10(mag)该函数的另一种调用格式为:mag,pha,w=bode(G.)这时w可以自动生成,如果在调用bode函数时不返回变量,则MATLAB自动生成系统的伯德图。一般和计算增益裕度和相角裕度的函数margin结合使用例子:考虑系统传递函数:则可以用下面的命令绘出系统的伯德图,计算出增益裕度和相角裕度,程序如下: w=logspace(-1,1,200); num=1 3; den=conv(1 1,1 2),0; G=tf(num,den); x y w=bode(G,w); margin(x,y,w)例子:考虑系统传递函数则可用下面命令绘出系统的奈氏图 num=0.5; den=1 2 1 0.5; re,im=nyquist(num,den); plot(re,im),grid on。
matlab仿真函数,matlab自动控制仿真常见函数应用相关推荐
- matlab 定义函数 调用,matlab 定义函数,matlab定义函数并调用
matlab 定义函数,matlab定义函数并调用,Matlab自定义函数详解 很久以前写的一篇Matlab自定义函数访问量很大,可惜没有点赞的,我感觉是我没讲清楚,这里又写了一篇笔记 Matlab函 ...
- 用matlab定义位移函数,matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法)...
matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法),哪吒游戏网给大家带来详细的matlab 定义函数(Matlab怎么调用函数 自定义函数使用方法)介绍,大家可以阅读一下,希望这篇 ...
- matlab normc函数,matlab normc函数
用Matlab命令:normc(X)或norm(X) ? 均值中心化:从每个变量... 用Matlab进行系统函数H(s)仿真 Matlab进行系统函数 进行系统函数H(s)仿真---无01班---无 ...
- matlab doc函数,matlab常用函数.doc
matlab常用函数.doc MatLab 常用函数 1. 特殊变量与常数 ans 计算结果的变量名 computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位 name ...
- matlab私有函数,MATLAB 嵌套函数,子函数,私有函数,重载函数
MATLAB函数嵌套 MATLAB中M文件有两种类型,脚本M文件和函数M文件.脚本M文件是将可执行程序语句放入M文件中,就像在命令窗口那样,按其语句顺序及逻辑关系执行,可以理解为一般的顺序执行程序语句 ...
- matlab引擎函数,Matlab引擎库函数
Matlab引擎库包含了一系列从外部应用程序调用和控制Matlab引擎的函数.下表列举了C语言的引擎库函数,这些函数后使用了eng前缀名 表 1 C语言引擎函数库 引擎函数 功能描述 engOpen ...
- matlab swt函数,matlab swt 函数出错
matlab swt 函数出错 我在用matlab swt 函数分解信号时总是出现以下错误,麻烦各位高手告知该怎么修改,swt函数如何ERROR ... ----------------------- ...
- 怎么调出matlab的函数,matlab定义函数【搞定方法】
喜欢使用电脑的小伙伴们一般都会遇到win7系统matlab定义函数的问题,突然遇到win7系统matlab定义函数的问题就不知道该怎么办了,其实win7系统matlab定义函数的解决方法非常简单,按照 ...
- matlab randi 函数,MATLAB中的randi函数
randi Pseudorandom integers from a uniform discrete distribution.来自一个均匀离散分布的伪随机整数 R = randi(IMAX,N) ...
- matlab optimeset函数,matlab 中的 linprog函数
(1) linprog函数是用来求解线性规划问题的. 什么是线性规划问题? 就是在一系列的线性条件的约束下,从而规定了可行解,在通过具体的目标函数,求得满足函数 的最优的解 例如平常的线性规划函数 ...
最新文章
- 计算机——工科中的理科
- 二、mysql数据类型
- 服务器性能指标(一)——负载(Load)分析及问题排查
- java虚拟内存扩展_Java 8虚拟扩展方法
- Python笔记-假设检验之双样本T检验(两样本是否相似)
- nginx 实现Web应用程序的负载均衡
- 带着canvas去流浪系列之五 绘制K线图
- MyBatis使用MySQL存储过程
- 为什么要学习Linux操作系统?
- ubuntu ftp server-转
- SQL 中的 in 与 not in、exists 与 not exists 的区别以及性能分析
- 火车售票系统html模板,火车售票系统完整代码.doc
- 2021年网络工程师考试大纲
- 几种最常见的网站盈利模式分析
- mysql ley_len计算
- 搭建量化交易系统接口的步骤是什么?
- Selenium自动化测试Python三:WebDriver进阶
- HCIA/HCIP使用eNSP模拟HCIA综合实验(Telnet Trunk VLAN DHCP STP OSPF PPP 缺省路由 NAT ACL 与 路由器 交换机 服务器的综合配置)
- 如何锻炼口才和胆量(口才锻炼什么能力)
- 互联网金融风控面试算法知识(四)