eric415 发表于 2009-12-9 19:24

关于用matlab画bode图的问题

已知一个系统K=;M=;C=;
可以用bode命令画出频响函数图,但是是分开的。
A=;
B=;
C=;
D=zeros(1,4);
sys=ss(A,B,C,D);
bode(sys)


有没有什么方法让这4个频率对应的尖峰画到一个图里,变成一条曲线。并标注横向坐标值。
类似这种:
http://hqsignal.com/FCK/Files/image/%E5%AF%B9%E7%85%A7%E5%9B%BE_%E9%94%AF%E6%9C%BA.jpg

ChaChing 发表于 2009-12-9 23:33

= bode(sys) or = bode(sys,w)
然后各自画+hold on

eric415 发表于 2009-12-10 14:12

画完了是这样的

ChaChing 发表于 2009-12-10 18:45

LZ怎么画! 代码?

eric415 发表于 2009-12-10 21:42

= bode(sys);
for i=1:4
   for k=1:43
          y(i,k)=mag(1,i,k);
   end
end
magdb1= 20*log10(y(1,:));
magdb2= 20*log10(y(2,:));
magdb3= 20*log10(y(3,:));
magdb4= 20*log10(y(4,:));
hold on;
plot(w,20*log10(magdb1))
hold on;
plot(w,20*log10(magdb2))
hold on;
plot(w,20*log10(magdb3))
hold on;
plot(w,20*log10(magdb4))

ChaChing 发表于 2009-12-20 23:55

刚才发现这个忘了回应~!
LZ给的代码好像根本有问题!? 无法画出3F的图!

402144999 发表于 2014-7-26 22:35

页: [1]
查看完整版本: 关于用matlab画bode图的问题