我有多个波德图,并希望以紧凑的方式绘制它们以简化视觉评估。我想到了某事。就像一个nxm矩阵图。但是,无论在Matlab还是Python中,我都找不到如何实现的。任何帮助我实现此目标的建议都将受到高度赞赏。
一些用于生成两个波特图的示例数据。
f1=[1,10,100,1000] Hz
amp1=[12,56,89,100] V
phase1=[0, 90,180,270] deg
f2=[1,20,50,100] Hz
amp2=[16,34,76,90] V
phase2=[10, 45,145,160] deg
最佳答案
如评论中所述,您可以将频率响应阵列提供为MIMO系统的输入输出响应。让我们伪造一些3x4x100复数,并伪造一系列频率,然后绘制波特
A = rand(3,4,1000);
A = A + (rand(3,4,1000)-0.5)*1i;
w = logspace(-2,2,1000);
G = frd(A,w);
bode(G)
您可以从具有相位和幅值的
r*exp(i \theta)
极坐标表示的磁/相阵列中再次获得复矢量。编辑
f1=[1,10,100,1000];
amp1=[12,56,89,100];
phase1=[0, 90,180,270];
f2=[1,20,50,100];
amp2=[16,34,76,90];
phase2=[10, 45,145,160];
resp1 = amp1.*exp(1i*phase1*pi/180);
resp2 = amp2.*exp(1i*phase2*pi/180);
G = frd(resp1,f1,'FrequencyUnit','Hz');
H = frd(resp2,f2,'FrequencyUnit','Hz');
bode(G,H);
subplot(211);
bode(G);
hold on;
subplot(212);
bode(H);
关于python - 如何生成波特图矩阵?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41367398/