函数asymp()对应于bode(),但它也绘制了幅度和相位图的渐近线。相位渐近线仅是水平和垂直的。
asymp()只接受SISO传递函数。
如果传输功能也有一个延时,延时被忽略
求相位渐近线。
asymp()可以以两种方式被称为仅asymp(h)中,或asymp(H,WMIN,WMAX)。
Trond安德森(2020)。有渐近线的波德图(//www.tatmou.com/matlabcentral/fileexchange/10183-bode- plot-with-渐近线),MATLAB中央文件交换。检索。
1.2.0.2 | 一些调试时忘记的逗号又变成了分号 |
|
1.2.0.1 | 错误有时-360度相位校正除去 |
|
1.2.0.0 | 只是稍微编辑一下描述 |
|
1.2.0.0 | 修正了兼容新版本的Matlab的 |
|
1.2.0.0 | 用Matlab 2015年兼容 |
|
1.0.0.0 | 错误修复。 |
|
修正错误:一个审稿人指出某个传递功能在当前版本中不工作。 |
克丽丝霍夫曼。尝试更新版本,希望错误被修复。谢谢!
在某些情况下,相位计算不正确。用asymp和bode检测MySys = tf([1 00],[1 20 100]);对于asymp,这个阶段从-180开始,对于Matlab的波德,这个阶段从180开始。
如何添加这个文件到MATLAB软件?
工作得很好。我遇到的唯一问题是,当我把它放在子图中时,它没有正确地显示。
对不起,刚才看到你的更正。同样的,当频率为1 rad/s时,asymp(.)和bode(.)都给出了amp = 0dB。
对不起,我的意思是1弧度/秒,必须有0 dB增益
这是我测试的传递函数为:
num = -999.9000 e - 003;
穴= [9.9990 e + e - 009 1.0000 000 0.0000 e + 000];
H = TF(NUM,书房);
asymp(H,2 * PI * 1E-3,62.8319e + 009);
这是一个视频表示当我最大化该图中,x轴刻度标签不对应于正确的值(0弧度/秒必须具有0 dB增益)
https://youtu.be/1Dm0kcWD6pQ
我是这个节目的作者。你能告诉我你用了哪个传递函数导致x轴标错了吗?那我自己检查一下。
真棒功能,伯德图的学习非常有用,非常感谢,但是在2017年MatLab中时,一个人影是在图窗口中的x轴刻度标签不符合实际的位置打开实时编辑。
真棒!
很有用!!!
非常好用,谢谢。
从尚塔尔·穆勒重新错误信息:
如果H(S)= NUM(S)/旦(S),传递函数必须有度(NUM)<=度(DEN),即是适当的或严格正确。
建议改进:添加了网格线。查找MATLAB的“bode.m”所有呼叫,并添加“网格”。
自动完成错误:“asymptotic.m”应该是“asymp.m”。
太棒了!
但我不明白为什么功能无法情节:
H1 = 1 + s / 10
H2 = 1 s / 10
wheareas有S无PB有:
H7 = (10 * s ^ 2 + 5 * s + 10) / (1 + s / 10)
我认为有一个约束d°(den)< d°(num),但H7工作。
无论如何,感谢您的功能等,也许对你有所帮助。
良好的工作,谢谢
我是这个函数的作者。它同样适用于其他评论者给出的反例。
渐近线并不在此带阻滤波器角度工作:
>> H = TF([1 0 4000 * 16000],[1 + 4000 4000 16000 * 16000])
传递函数:
秒2 + 6.4e007
-----------------------
s^2 + 20000 s + 6.4e007
> > asymp (H)
(也许是因为在带阻频率的突然180度相移)
除此之外,这个节目很精彩
这个简单的测试是行不通的:
F11 = -1.2794;
F12 = -7.9856;
F22 = -1.2709;
[f11 f12;1 f22];
G = [-F12; 0];
Hx = [10];
B22 = INV(-Hx * INV(F)* G)
sys = ss(F, G*B22, Hx,0);
数字
步骤(SYS),网格
数字
博德(SYS),网格
数字
asymp(系统)
你是一个Geeeeeeeeeeenius
真的,很棒的m文件
感谢名单
我需要帮助...口口声声说错误在asymp 19
******* 谢谢 **********
这是函数(asymp.m)很漂亮
好东西。谢谢!
非常好,但也有以下的传递函数的错误:
G (s) = (s ^ 2 + 1) / (s * (s ^ 2 + 4))
---------
???使用==错误>结肠
超过程序允许的最大可变大小。
误差在==> asymp在147
设置(获取(gcf CurrentAxes), YTick, magmin: ydelta: magmax);
----------------
它的工作。不错的工作
我asymp的作者()。问题报道由安东Cervin酒店已得到修复。请告诉我,如果问题仍然存在。
这似乎并不奏效。
>> G =(S + 1)/(S *(S + 10))
传递函数:
S + 1
----------
秒2 + 10秒
>> asymp(G)
???使用错误==>轴
无效的对象句柄。
误差在==> asymp在120
轴(h);
类似的提交:
//www.tatmou.com/matlabcentral/fileexchange/loadFile.do?objectId=2664&objectType=file
我希望在顶部有一个更全面的帮助文本。代码有很好的文档记录。有一些编码风格可以更好(例如while循环)。既然你在画渐近线,也许函数可以返回断点频率和渐近线对应的斜率。它可以具有与BODE相同的行为,即如果没有输出,那么它将创建一个绘图,如果有输出,那么它将不创建绘图。