簡體   English   中英

如何波特圖繪制傳遞函數數組?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM