概述
matlab求传递函数在某一频率的增益
设计PI参数编程时,想用matlab求传递函数在某一频率处的增益,这样在编程时可以一口气将内环与外环传递函数设计出来而不需要设计出来内环之后先看看长什么样,然后手动输入求增益,再设计外环。但是转了一圈没发现方法,最后自己想了个另类方法:
- 构造传递函数,比如:
G=tf([1,1],[1,0])
观察workspace发现G是一个tf对象,如果双击在变量栏可以看到:
也就是说G是一个类似于结构体类的东西,其中前两个字段就分别是分子和分母多项式的系数了。那么我们就可以利用分子与分母多项式的系数构造多项式,然后分别求出两个多项式在待求频率处的值,相除即可。
例如,我想求
G
(
s
)
G(s)
G(s)在
50
H
z
50mathrm{Hz}
50Hz处的响应,那么令
s
=
j
2
π
×
50
s=j2pitimes 50
s=j2π×50代入即可:
polyval(G.Numerator{1},1j*2*pi*50)/polyval(G.Denominator{1},1j*2*pi*50)
其中,polyval是matlab内置的求多项式在某一点值的一个函数,第一个参数为多项式系数向量,第二个参数为要求的点数值。注意Numerator和Denominator都是
1
×
1
c
e
l
l
1times 1 mathrm{cell}
1×1cell,因此首先要先索引,即G.Numerator{1}和G.Denominator{1}。
利用得到的响应可以求幅值与相角。
最后
以上就是英勇裙子为你收集整理的matlab求传递函数在某一频率的增益matlab求传递函数在某一频率的增益的全部内容,希望文章能够帮你解决matlab求传递函数在某一频率的增益matlab求传递函数在某一频率的增益所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复