查看: 199|回复: 9|关注: 0

[已解决] Matlab绘制伯德图

[复制链接]

新手

7 麦片

财富积分


050


3

主题

14

帖子

0

最佳答案
有什么办法可以把伯德图相位限制在-180到180度之间,而且不会导致波形丢失

论坛优秀回答者

3

主题

1110

帖子

133

最佳答案
  • 关注者: 80
发表于 2020-1-9 10:28:50 | 显示全部楼层
[mag,phase,wout] = bode(sys,w)
用这样的形式吧,自己生成w,比如w=2*pi*(1:5000);
得到phase之后,用模把值域限制在[-pi,pi),phase=mode(phase,2*pi)-pi;
再自己绘制图形

新手

7 麦片

财富积分


050


3

主题

14

帖子

0

最佳答案
 楼主| 发表于 2020-1-9 12:01:15 | 显示全部楼层
coolchen302 发表于 2020-1-9 10:28
[mag,phase,wout] = bode(sys,w)
用这样的形式吧,自己生成w,比如w=2*pi*(1:5000);
得到phase之后,用模把 ...

能说的详细一些吗?你说的我不太懂

新手

7 麦片

财富积分


050


3

主题

14

帖子

0

最佳答案
 楼主| 发表于 2020-1-9 12:08:50 | 显示全部楼层
coolchen302 发表于 2020-1-9 10:28
[mag,phase,wout] = bode(sys,w)
用这样的形式吧,自己生成w,比如w=2*pi*(1:5000);
得到phase之后,用模把 ...

这句也报错了
WeChat Screenshot_20200109150654.png

论坛优秀回答者

3

主题

1110

帖子

133

最佳答案
  • 关注者: 80
发表于 2020-1-9 14:35:01 | 显示全部楼层

phase=mod(phase,2*pi)-pi;
这里有个笔误。。
f=1:5000;%1~5kHz的频率范围
w=2*pi*f;  
%sys是你的模型对象
[mag,phase,wout] = bode(sys,w)
phase=mod(phase,2*pi)-pi;

figure(1)
subplot(211)
plot(f,mag);
subplot(212);
plot(f,phase);

新手

5 麦片

财富积分


050


0

主题

2

帖子

0

最佳答案
发表于 2020-1-9 19:42:59 | 显示全部楼层
coolchen302 发表于 2020-1-9 14:35
phase=mod(phase,2*pi)-pi;
这里有个笔误。。
f=1:5000;%1~5kHz的频率范围

这个好像有点问题,按照你的程序,会报error

论坛优秀回答者

3

主题

1110

帖子

133

最佳答案
  • 关注者: 80
发表于 2020-1-9 22:51:18 | 显示全部楼层 |此回复为最佳答案
王一丢丢帅 发表于 2020-1-9 19:42
这个好像有点问题,按照你的程序,会报error

是的,程序还是要调试,不能偷懒。。。
  1. w=0.1:0.1:100;  
  2. sys=zpk(1,[-1 -2 -3 -4],1);
  3. [mag,phase,wout] = bode(sys,w);
  4. mag=mag(:);
  5. phase=phase(:);
  6. phase=mod(phase+180,360)-180;

  7. figure(1)
  8. bode(sys)

  9. figure(2)
  10. subplot(211)
  11. semilogx(w,log10(mag)*20);
  12. subplot(212);
  13. semilogx(w,phase);
复制代码

新手

7 麦片

财富积分


050


3

主题

14

帖子

0

最佳答案
 楼主| 发表于 2020-1-10 06:26:44 | 显示全部楼层
coolchen302 发表于 2020-1-9 22:51
是的,程序还是要调试,不能偷懒。。。

太感谢了,不过还想问下:
mag=mag(:);
这句是什么意思?

论坛优秀回答者

3

主题

1110

帖子

133

最佳答案
  • 关注者: 80
发表于 2020-1-10 12:20:49 | 显示全部楼层
jjsadkkjkj 发表于 2020-1-10 06:26
太感谢了,不过还想问下:
mag=mag(;
这句是什么意思?

mag原来是个三维矩阵的结构,在我们的应用中实际上是一维向量
这个语句是把mag变成一维向量了

新手

7 麦片

财富积分


050


3

主题

14

帖子

0

最佳答案
 楼主| 发表于 2020-1-10 16:24:04 | 显示全部楼层
coolchen302 发表于 2020-1-10 12:20
mag原来是个三维矩阵的结构,在我们的应用中实际上是一维向量
这个语句是把mag变成一维向量了 ...

太感谢了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

快速回复 返回顶部 返回列表