最近看书过程中看到一个matlab内容和大家分享分享

4180c124d0b9d31507992be5023a4c19.png

通过编程来计算单位冲击响应,单位阶跃y(t)和频率响应H(jw)

程序如下

clc%清空命令行

clear%从工作区中删除项目、释放系统内存

clf%清空当前图窗窗口

num=[1];

den=[1 2 2 1];

sys=tf(num,den);%构成传递函数

poles=roots(den);%求极点

subplot(211);%图1

pzmap(sys);%零极点分布图显示

[r,p,k]=residue(num,den)%实现部分分式展开的

t=0:0.02:10;

h1=impulse(num,den,t);%单位冲击响应

subplot(222)

plot(t,h1,'linewidth',4)

title('冲击响应','fontsize',16)

xlabel('时间\t','fontsize',16)

h2=step(num,den,t);%单位阶跃响应

subplot(223)

plot(t,h2,'linewidth',4)

title('阶跃响应','fontsize',16)

xlabel('时间\t','fontsize',16)

[H,w]=freqs(num,den);

subplot(224)

plot(w,abs(H),'linewidth',4)

xlabel('频率\omega','fontsize',16)

title('幅频特性','fontsize',16)

ylabel('幅值H(jw)','fontsize',16)

2598fdfd53fa6e56ccbaa5674591dc6f.png

2、零极点分布图

a18158f19940d47aeb04879e8f15ee76.png

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐