我是靠谱客的博主 粗暴荔枝,最近开发中收集的这篇文章主要介绍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自动控制仿真常见函数应用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部