matlab通过系统开环传递函数绘制闭环伯德图的程序是什么?

matlab通过系统开环传递函数绘制闭环伯德图的程序是什么?,第1张

clear all %卸载变量\x0d\x0aclc %清屏幕\x0d\x0as=tf('s') \x0d\x0aG=26/(s*(s+5)*(s^2/79^2+s*0.4/79+1))%构造开环传函\x0d\x0asys=feedback(G,1)%单位负反馈下的闭环传函\x0d\x0abode(sys)%画闭环伯德图祥清\x0d\x0a---------------------------------------分割线\x0d\x0a上面的程序是按照反馈是单位负反馈的形式写的,\x0d\x0a如果你的反馈式子比较复杂只需改一下feedback函数即可禅桐\x0d\x0aG= feedback(G1,G2,sign)\x0d\x0aG1是前向,G2是反馈。\x0d\x0asign=-1或缺省是负反馈, sign=1是正反馈。\x0d\x0a我写的程序是matlab6.5的谨袭前。

若开环传递函数不是多项式乘积形式,则不需用conv函数,conv函数可用于多项式乘法以及卷积。

通过指定开环增益k的变化范围来绘制系统的根轨迹图

k=1:10

matlab中根轨迹分析函数

pzmap:绘制线性系统的零极点

rlocus:求系统根轨迹。

rlocfind:计算给定一组根的根轨迹增益。

sgrid:在连续系统根轨迹图和零极袭手点图中绘制出阻尼系数和自然频率栅格。

[p,z]=pzmap(a,b,c,d):返回状态空间描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。

[p,z]=pzmap(num,den):返回传递函数描述系统的极点矢量和零点矢量,而不在屏幕上绘制出零极点图。

pzmap(a,b,c,d)或pzmap(num,den):不带输出参数项,则直接在s复平面上绘制出系统对应的零极点位置,极点用×表示,零点用o表示。

pzmap(p,z):根据系统已知的零极点列向量或行向量直接在s复平面上绘制出对应的零极点位置,极点用×表示,零点用o表示。

rlocus(a,b,c,d)或者rlocus(num,den):根据SISO开环系统的状态空间描述模型和传递函数模型,直接在屏幕上绘制出系统的根轨迹图。开环增益的值从零到无穷大变化。

rlocus(a,b,c,d,k)或rlocus(num,den,k):通过指定开环增益k的变化范围来绘制系统的根轨迹图。

r=rlocus(num,den,k) 或者[r,k]=rlocus(num,den) :不在屏幕上直接绘出系统的根轨迹图,而根据开环增益变化矢量k ,返回闭环系统特征方程烂埋1+k*num(s)/den(s)=0的根r,它有length(k)行,length(den)-1列,每行对应某个k值时的所有闭环极点。或者同时返回k与r。

若给出传饥禅蚂递函数描述系统的分子项num为负,则利用rlocus函数绘制的是系统的零度根轨迹。(正反馈系统或非最小相位系统)

[k,p]=rlocfind(a,b,c,d)或者[k,p]=rlocfind(num,den)

它要求在屏幕上先已经绘制好有关的根轨迹图。然后,此命令将产生一个光标以用来选择希望的闭环极点。命令执行结果:k为对应选择点处根轨迹开环增益;p为此点处的系统闭环特征根。

不带输出参数项[k,p]时,同样可以执行,只是此时只将k的值返回到缺省变量ans中。

sgrid:在现存的屏幕根轨迹或零极点图上绘制出自然振荡频率wn、阻尼比矢量z对应的格线。

sgrid(‘new’):是先清屏,再画格线。

sgrid(z,wn):则绘制由用户指定的阻尼比矢量z、自然振荡频率wn的格线


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12534072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存