MATLAB Bode-Diagramm
In diesem Tutorial wird erläutert, wie Sie den Bode-Plot des Frequenzgangs eines Systems mit der Funktion bode()
in MATLAB zeichnen.
Zeichnen Sie den Bode-Plot des Frequenzgangs eines Systems mit der Funktion bode()
in MATLAB
Wenn Sie den Frequenzgang oder die Amplituden- und Phasendaten eines Systemmodells darstellen möchten, können Sie die Funktion bode()
verwenden, die sowohl den Betrag als auch die Phase des Frequenzgangs eines bestimmten Systems darstellt. Lassen Sie uns zum Beispiel einen Bode-Plot eines dynamischen Systems erstellen, indem wir seine Übertragungsfunktion an die Funktion bode()
übergeben. Siehe den Code unten.
t_fun = tf([1 2 0.5],[9 1 0]);
bode(t_fun)
Ausgabe:
Im obigen Code verwenden wir die Koeffizienten der Übertragungsfunktion und die Funktion tf()
, um die dynamische Funktion zu definieren. Das erste Argument der Funktion tf()
ist der Vektor, der die Koeffizienten des Zählers enthält, und das zweite Argument ist der Vektor, der die Koeffizienten des Nenners enthält, und die Folge ist von höherer zu niedrigerer Potenz. Wenn die Leistung fehlt, wird 0 als Koeffizient verwendet.
Wie Sie in der Ausgabe sehen können, gibt die Funktion bod()
automatisch den Plottitel und die Beschriftungen an. Wenn Sie diese Einstellungen ändern möchten, müssen Sie den Betrag und die Phase in einer separaten Variablen speichern und dann mit der Funktion plot()
plotten. Danach können Sie dem Plot Ihre gewünschten Titel und Beschriftungen geben. Lassen Sie uns zum Beispiel den obigen Bode-Plot mit den Funktionen subplot()
und plot()
erstellen und seinen Titel mit der Funktion title()
ändern. Siehe den Code unten.
t_fun = tf([1 2 0.5],[9 1 0]);
[magn,phas,w] = bode(t_fun);
figure
subplot(1,2,1)
plot(w,20*log10(magn(:)))
set(gca, 'XScale', 'log')
title('Magnitude')
subplot(1,2,2)
plot(w,phas(:))
set(gca, 'XScale', 'log')
title('Phase')
Ausgabe:
Wie Sie in der Ausgabe sehen können, sind die Plots die gleichen, aber mit einem anderen Titel. Sie können auch andere Eigenschaften wie Beschriftungen, Linienstile, Plotfarbe mit der Eigenschaft Color
usw. ändern. Unter diesem Link finden Sie weitere Informationen zur Funktion bode()
.