[英]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')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.