怎样用MATLAB计算一个传递函数的幅值和相角?

 我来答
宓蝶孔雀
2020-06-04 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.2万
采纳率:34%
帮助的人:2103万
展开全部
楼主你好,我们讲频域法,常用s域中的传递函数,令s=jw来求得A(w)=|G(jw)|,fai(w)=fai(G(jw))
具体到本题,将s用jw代换,有G(jw)=(1+jw)/(2+jw),这是一个复数
由复数乘积(商)的幅值等于各因子幅值的乘积(商),那么|G(jw)|=|1+jw|/|2+jw|
一个复数的模值M=√(Re^2+Im^2),或者说从原点到这个复数的点的距离
那么|1+jw|=√(1+w^2),而|2+jw|=√(4+w^2),故|G(jw)|=√[(1+w^2)/(4+w^2)],这就是你结果的前面一部分,即幅值部分
而复数的乘积(商)的相角等于各因子相角的和(差),那么fai(w)=fai(1+jw)-fai(2+jw)
对于相角的求法,各个象限有不同,不过对1象限(或者说系统稳定时的零极点),还是很容易的
如1+jw,将这个复数与原点0+j0相连,容易知道这条线的幅角为arctan(w/1)=arctanw
同时2+jw的幅角为arctan(w/2)
因此fai(w)=arctanw-arctan(w/2),这就是结果的后一部分,即相角部分
还是很行的吧哈哈
茆傅香佘汝
2019-06-16 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:26%
帮助的人:765万
展开全部
可以用matlab画伯德图。
有两个函数可以画伯德图
一个是bode函数
格式是[mag,phase,w]=bode(g);
g是构建好的系统,mag是幅值,phase是幅角,w是频率,如果完整地写[mag,phase,w]=bode(g)
那么将不画图,把幅值,幅角,频率分别一一对应存在三个向量里。只写bode(g)的话,只会画伯德图。用bode函数配合一些查表函数和插值函数,可以比较方便的实现求解对特定频率的增益和相移。
还有一个margin函数,格式是[gm,pm,wcg,wcp]=margin(g);
gm是幅值裕度,pm是相角裕度,wcg是截止频率,wcp是穿越频率。格式不完整,只写margin(g)的话,会画出伯德图,并将那四个参数标注在图上。
也就是说bode函数可以用来求频率,幅值,幅角的关系,margin函数用来求系统的幅值裕度,相角裕度,截止频率,穿越频率这些参数。这两个联合起来用,正好可以满足lz的要求。这些函数都是matlab自带的,是现成的,不用什么复杂的编程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式