如何波特图绘制一组传递函数?
How to Bode plot an array of transfer functions?
我有一些与 LLC 转换器对应的传递函数。每个都是不同的,我正在更改一个参数以可视化频率响应的变化。我有这样的东西:
V(1)=Voutput;
V(2)=Voutput2;
V(3)=Voutput3;
然后我使用以下方法绘制它们:
figure(1)
optsV = bodeoptions('cstprefs');
optsV.FreqUnits = 'kHz';
bode(V, optsV)
问题是每个传递函数都绘制在不同的图表中:
如何将它们绘制在一张图表中?
使用
bode(V(1),'r',V(2),'g',V(3),'b', optsV)
其中 V1,V2,V3
是您的各种传递函数。
它们将被绘制成 3 条线,红、绿、蓝三种颜色。
编辑,回复评论:如果你在评论中写的很多,你可以创建图形,调用hold on
,并在for循环中绘制所有传递函数,一些东西像这样:
first_tf = tf(1,[1,1]);
%your example of many TF.
V = [first_tf,2*first_tf,3*first_tf];
figure
hold on
for j=1:length(tfdata(V))
bode(V(j))
end
输出如下:
您可以使用以下命令并将它们全部放在同一个命令中:
bode(V(1),V(2),V(3), optsV)
如果您想使用循环自动绘制所有传递函数,您可以使用以下代码:
for i = 1:size(V,2)
bode(V(i), optsV)
hold on
end
这是一个简短的演示:
V(1)=tf([1 0 0],[1 1]);
V(2)=tf([1 2 0],[1 1]);
V(3)=tf([1 1 0],[1 1]);
figure(1)
optsV = bodeoptions('cstprefs');
optsV.FreqUnits = 'kHz';
bode(V(1),V(2),V(3), optsV)
legend('V1','V2','V3')
我有一些与 LLC 转换器对应的传递函数。每个都是不同的,我正在更改一个参数以可视化频率响应的变化。我有这样的东西:
V(1)=Voutput;
V(2)=Voutput2;
V(3)=Voutput3;
然后我使用以下方法绘制它们:
figure(1)
optsV = bodeoptions('cstprefs');
optsV.FreqUnits = 'kHz';
bode(V, optsV)
问题是每个传递函数都绘制在不同的图表中:
如何将它们绘制在一张图表中?
使用
bode(V(1),'r',V(2),'g',V(3),'b', optsV)
其中 V1,V2,V3
是您的各种传递函数。
它们将被绘制成 3 条线,红、绿、蓝三种颜色。
编辑,回复评论:如果你在评论中写的很多,你可以创建图形,调用hold on
,并在for循环中绘制所有传递函数,一些东西像这样:
first_tf = tf(1,[1,1]);
%your example of many TF.
V = [first_tf,2*first_tf,3*first_tf];
figure
hold on
for j=1:length(tfdata(V))
bode(V(j))
end
输出如下:
您可以使用以下命令并将它们全部放在同一个命令中:
bode(V(1),V(2),V(3), optsV)
如果您想使用循环自动绘制所有传递函数,您可以使用以下代码:
for i = 1:size(V,2)
bode(V(i), optsV)
hold on
end
这是一个简短的演示:
V(1)=tf([1 0 0],[1 1]);
V(2)=tf([1 2 0],[1 1]);
V(3)=tf([1 1 0],[1 1]);
figure(1)
optsV = bodeoptions('cstprefs');
optsV.FreqUnits = 'kHz';
bode(V(1),V(2),V(3), optsV)
legend('V1','V2','V3')