300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 伯德图 matlab matlab画三维伯德图 bode图

伯德图 matlab matlab画三维伯德图 bode图

时间:2022-11-24 16:37:41

相关推荐

伯德图 matlab matlab画三维伯德图 bode图

做了一个简单的小例子,有什么疑惑可以留言。

clc

clear

close all

%% 初始化

R_Sta=1; %R的起始,结束范围以及间隔

R_end=10;

Nap_R=1;

% 数组初始化

num=[R_Sta 1];

den=[5e-4 1];

w={1e-2,1e4}; %确定频率范围,单位:rad/s

[mag,phase,wout]=bode(num,den,w); % 先要运行一次bode函数以确定输出量的长度

R=R_Sta:Nap_R:R_end;

Num_R=length(R);

Num_w=length(wout);

Z_mag = ones(Num_R,Num_w);

Z_phase = ones(Num_R,Num_w);

[X,Y]=meshgrid(wout,R);

R=R_Sta;

for i=1:Num_R

num=[R 1]

den=[5e-3 1]

[mag,phase,wout]=bode(num,den,w);

Z_mag(i,:)=20*log10(mag);

Z_phase(i,:)=phase;

R=R+Nap_R;

end

% figure(1)

% bode(num,den);

figure(2)

C_mag=Z_mag;

surf(X,Y,Z_mag,C_mag)

set(gca,'XScale','log')

colorbar

shading interp % 去掉网格

xlabel('rad/s');ylabel('R');zlabel('mag')

title('Magnitude')

figure(3)

C_phase=Z_phase;

surf(X,Y,Z_phase,C_phase)

set(gca,'XScale','log')

colorbar

shading interp % 去掉网格

xlabel('rad/s');ylabel('R');zlabel('Phase')

title('Phase')

输出图形如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。