3 Scilab | |
→ | 3.16 Beispiele |
Dieses Beispiel zeigt die Lösung eines größeren linearen Gleichungssystemes am Beispiel der Knotenspannungsanalyse.
Grundlagen |
Beispiel |
Bei der Knotenspannungsanalyse wird ein Knoten der Schaltung als Bezugspunkt (Masse, Punkt 0) ausgewählt. Die Knotenspannungen der verbleibenden Knoten sind die Spannungen vom jeweiligen Knoten zum Bezugspunkt.
Die Knotenspannungsanalyse ist nur für Schaltungen möglich, in denen keine Spannungsquelle ohne Widerstand in einem Zweig zwischen zwei Knoten steht. Jede Spannungsquelle muss mit einem Widerstand kombiniert sein, so dass die Reihenschaltung aus Spannungsquelle und Widerstand in eine Parallelschaltung von Stromquelle und Widerstand überführbar ist.
Das Aufstellen der Gleichungen wird zunächst an einem kleinen Beispiel mit einer Schaltung entsprechend der Abbildung oben verdeutlicht. Für den Knoten A gilt:
Für die Matrizenschreibweise des Gleichungssystemes müssen wir die Gleichungen so umstellen, dass wir auf der linken Seite die gesuchten Knotenspannungen ausgeklammert erhalten und alle Terme ohne Knotenspannungen auf die rechte Seite bringen:
Beim Aufstellen des Gleichungssystemes stehen im x-Vektor
nacheinander die gesuchten Knotenspannungen UA,
UB...
Jede Zeile repräsentiert die Gleichung für einen Knoten, für jeden
Knoten i wird folgendermaßen vorgegangen:
Für die Schaltung entsprechend der Abbildung mit
ist der Strom I10 gesucht.
Zunächst werden Knotennummern vergeben wie in der Abbildung
bereits eingetragen.
Geschickte Wahl des Bezugspunktes erleichtert die Berechnung. Im
Beispiel ist der Strom durch R10 gesucht, dafür
werden die Knotenspannungen ober- und unterhalb von
R10 benötigt. Wird der Bezugspunkt unterhalb des
Widerstandes gelegt, muss nur eine Knotenspannung zur Berechnung
des Stromes herangezogen werden.
Die rot gekennzeichneten Punkte erhalten keine Knotenspannung
zugewiesen, da sonst Zweige mit nur einer Spannungsquelle als
Element entstehen würden.
Das Gleichungssystem in Matrizenschreibweise ist zu breit für
eine Darstellung hier innerhalb der Seite, über die nachfolgenden
Links kann es in verschiedenen Formaten in einem separaten
Browserfenster geöffnet werden:
SVG, PDF und PNG.
Mit der Beispieldatei wird das Gleichungssystem gelöst und
anschließend der Strom berechnet.
Die Koeffizientenmatrix und der Ergebnisvektor werden hier nicht
durch Eingabe aller Werte erzeugt. Stattdessen werden zunächst eine
Nullmatrix und ein Nullvektor angelegt, Wertzuweisungen erfolgen
dann nur für die besetzten Stellen.
// Gegebene Werte eingeben
R1 = 50.0; R2 = 1.0e3; R3 = 0.5e3;
R4 = 1.0e3; R5 = 1.5e3; R6 = 2.0e3;
R7 = 1.5e3; R8 = 2.0e3; R9 = 2.5e3;
R10 = 3.0e3; R11 = 2.5e3;
Uq1 = 1.5; Uq2 = 3.0; Uq3 = 4.5;
Iq1 = 2.0e-3; Iq2 = 4.0e-3;
// Leitwerte berechnen
G1 = 1.0 / R1; G2 = 1.0 / R2; G3 = 1.0 / R3;
G4 = 1.0 / R4; G5 = 1.0 / R5; G6 = 1.0 / R6;
G7 = 1.0 / R7; G8 = 1.0 / R8; G9 = 1.0 / R9;
G10 = 1.0 / R10; G11 = 1.0 / R11;
// Null-Matrix und y-Vektor in passender Groesse anlegen
m = zeros(7,7);
y = [ 0 0 0 0 0 0 0 ]';
// Einzelne Elemente gezielt setzen
m(1,1) = G7+G10; m(1,2) = -G7; m(2,2) = G1+G6+G7;
m(2,1) = -G7; m(2,3) = -G1; m(2,5) = -G6;
m(3,3) = G1+G2; m(3,2) = -G1; m(3,4) = -G2;
m(4,4) = G2+G3+G5; m(4,3) = -G2; m(4,5) = -G5;
m(4,6) = -G3;
m(5,5) = G4+G5+G6+G8+G11;
m(5,2) = -G6; m(5,4) = -G5; m(5,6) = -G4;
m(5,7) = -G8;
m(6,6) = G3+G4; m(6,4) = -G3; m(6,5) = -G4;
m(7,7) = G8+G9; m(7,5) = -G8;
y(2) = -Iq2 -Uq2*G1;
y(3) = Uq2*G1+Iq1-Uq1*G2;
y(4) = Uq1*G2;
y(5) = -Uq3*G11;
y(6) = -Iq1;
y(7) = Iq2;
// Gleichungssystem loesen
x = inv(m) * y;
// Gesuchten Strom aus Knotenspannung berechnen und ausgeben
I10 = x(1) * G10;
printf("I = %g\n", I10);