Um mein Wissen mal wieder aufzufrischen, habe ich mir überlegt mit einem
OpenSource CAS Tool ein paar Standard Aufgaben zu lösen.
Ich möchte das gezeigte Beispiel 3.6.2 mit wxMaxima lösen. Es soll
mittels der Modifizierten Knotenspannungsverfahrens algebraisch gelöst
werden. Mein Ziel ist es am Ende eine Gleichung für U3 zu bekommen als
Funktion der Widerstände und der beiden Spannungsquellen z.B.:
U3(G1,G2,U1,U2)=....
Meine Schritte waren bisher folgende:
1.Erstellen der Leitwert-Matrix:
A:matrix([G1,0,-G1],[0,G2,-G2],[-G1,-G2,G1+G2+G3]);
2.Stromquellen-Vektor:
b:matrix([0,0,0]);
3.Inverse A multiplizieren mit Vektor b um den unbekannten
Spannungs-Vektor [Uq1,Uq2,Ukn3] zu erhalten:
x:invert(A).b;
Leider wird das Ergebnis noch falsch angegeben: x=[0,0,0]
Wer kann das mit wxMaxima lösen?
>Leider wird das Ergebnis noch falsch angegeben: x=[0,0,0]
"Falsches Ergebnis" ist gut. Was soll denn sonst herauskommen, wenn Du
eine Matrix mit b = [0,0,0] multipliziert?
Ich benutze für solche Aufgaben gerne die Superposition.
Also einfach U1 bzw. U2 zu 0 setzen, die Spannung an R3 ausrechnen und
dann beide Werte addieren.
Mit Leitwerten habe ich mich schon immer schwer getan.
mit uk = Rk·Ik (k = 1, 2, 3)
Ergebnis: u3 = (R1·Uq2 + R2·Uq1)/(R1 + R2 + R1·R2/R3)
Wenn R3 fehlt (R3 = unendlich), ist u3 der gewichtete arithmetische
Mittelwert der Spannungen Uq1 und Uq2 mit den Widerständen R1 und R2 als
Gewichten. Dabei sind die Gewichte aber witzigerweise *vertauscht*: R1
ist das zu Uq2 gehörende Gewicht und R2 das zu Uq1 gehörende.
Falls es irgendjemanden interessiert.
Kannst Du ja ausprobieren. Mit dieser Variante bekommst Du die
vollständige Information über das Netzwerk, nämlich alle Ströme I1, I2,
... und alle Potentiale phi0, phi1, ... (siehe Definition von x in der
Kommentarzeile). Welche Gleichungen im System A.x = b codiert sind und
warum sie gelten, darfst Du selbst herausfinden.
Wobei die "+1" in der untersten A-Matrixzeile [0, 0, 0, +1, 0, 0, 0]
nicht nur auf dieser Position, also A_74, stehen darf, sondern auch auf
A_75, A_76 oder A_77. Man darf sogar vier beliebige reelle Zahlen auf
diese Positionen setzen, um das Potential zu eichen.
@Point.ofno.return: Wie wär's mit einem Feedback, ob die Antworten
hilfreich für Dich waren?
Da hatte ich wohl ein Brett vorm Kopf. Mein urprünglicher Beitrag
enthielt noch garnicht die Matrize für das MNA. So ist es vollständig:
1
A:matrix([G1,0,-G1,1,0],
2
[0,G2,-G2,0,1],
3
[-G1,-G2,G1+G2+G3,0,0],
4
[1,0,0,0,0],
5
[0,1,0,0,0]);
6
7
b:matrix([0,0,0,Uq1,Uq2]);
8
9
x:invert(A).b;
10
ratsimp(x);
11
Nach der Berechnung enthält x dann folgendes Ergebnis:
12
13
(U1, U2, U3, Iq1, Iq2)
Um die algebraische Lösung zu verifizieren, habe ich den Bauteilen Werte
zugewiesen und das Ergebnis mit der Spice Berechnung verglichen. Es
passt (siehe Foto).
Per Definition fließen die Ströme allerdings vom Minus zum Pluspol der
Spannungsquellen. Also entgegen der sonst üblichen Stromrichtung.
Das ist die "herkömmliche" Methode. Bei großen Netzwerken gelangt man
schnell an die Grenze des machbaren. Deshalb trainiere ich die
MNA-Methode um auch beliebig große Beschaltungen in kurzer Zeit
algebraisch lösen zu können.
>verstehe ich deine Art die Matrize aufzustellen nicht ganz.
Was ich gemacht habe, hat mit der MNA nichts zu tun. Meine Idee war,
folgende Gleichungen aufzustellen:
- Die Gleichung, die beschreibt, was der Knoten "3" physikalisch bewirkt
- ..., was die Spannungsquelle 1 physikalisch bewirkt
- ..., was die Spannungsquelle 2 physikalisch bewirkt
- ..., was der Widerstand R1 physikalisch bewirkt
- ..., was der Widerstand R2 physikalisch bewirkt
- ..., was der Widerstand R3 physikalisch bewirkt
Außerdem entschied ich mich noch für die Hinzunahme einer weiteren
Gleichung, die das Potential des Knotens "0" auf Null festlegt. Dann hat
das System 7 Gleichungen für 7 Unbekannte, nämlich die Ströme in den
drei Zweigen und die Potentiale der vier Knoten.
Nach dem Aufstellen der Gleichungen habe ich das System in der Form
"Matrix A mal Vektor x gleich Vektor b" dargestellt und die Größen A und
b in Maxima eingegeben.
>Matrize
Das Wort gibt es zwar, aber das, worüber wir hier sprechen, heißt
Matrix (Mehrzahl: Matrizen).
Was ich gemacht habe, hat mit der MNA nichts zu tun. Meine Idee war,
2
folgende Gleichungen aufzustellen:
Danke für die Mithilfe, ich möchte es aber ausschließlich mit der MNA
lösen. In der Praxis hätte ich das mit dem Überlagerungssatz gelöst, um
schnell zur Lösung zu gelangen. Ich möchte aber das MNA-Prinzip
beherrschen, da es sich gut auf sehr große Schaltungen skalieren lässt.
Ich habe also als Lösung der Musteraufgabe folgende Gleichung für die
Spannung U3=f(Uq1,Uq2,...):
1
U3=(G2*Uq2+G1*Uq1)/(G3+G2+G1)
Ich kann mir die Gleichung jetzt nach Belieben umstellen lassen, hier
z.B.: nach Uq1:
1
solve([U3=(G2*Uq2+G1*Uq1)/(G3+G2+G1)],[Uq1]);
2
3
Ergibt: Uq1=-(G2*Uq2+(-G3-G2-G1)*U3)/G1
Jetzt möchte ich allerdings die Gleichung im Verhältnis U3/Uq1
umgestellt haben. Dies benötigt man häufig zum Darstellen der
Übertragungsfunktion einer großen Schaltung. Leider funktioniert
folgendes nicht:
>Jetzt möchte ich allerdings die Gleichung im Verhältnis U3/Uq1>umgestellt haben.
Mir ist nicht klar, was genau Du damit meinst.
Wenn Du wissen willst, wie groß U3/Uq1 ist, dann reicht es doch, die
rechte Seite der U3-Gleichung durch Uq1 zu dividieren:
U3/Uq1 = (G2*Uq2/Uq1 + G1)/(G3 + G2 + G1)
Das geht natürlich auch in Maxima:
1
U3: (G2*Uq2 + G1*Uq1)/(G3 + G2 + G1);
2
U3/Uq1;
Wie Du feststellen wirst, erscheint dann leider nur ein Uq1 im Nenner,
d. h. es wird nicht in der Zählersumme verrechnet.
>Ja, da fehlt leider noch ein Rechenschritt.
Maxima führt den nicht aus, weil er eine Darstellung erzeugt, die man
als komplizierter ansehen kann, weil darin zwei Bruchstriche
vorkommen.
Wenn es Dir aber um die "entdimensionalisierte" Funktion f(alpha) mit f
= U3/Uq1 und alpha = Uq2/Uq1 geht, dann gibt es eine einfache Lösung: Du
setzt Uq2 = alpha·Uq1 und dann liefert Dir auch Maxima über "ratsimp"
das ordentliche Ergebnis (G2*alpha + G1)/(G3 + G2 + G1).
>Ich möchte aber, dass rechts nur Uq2 und die Widerstände stehen: "U3/Uq1 = .... *
Uq2"
Ähhh...?!?! Du erhoffst Dir von der Division der rechten Seite durch
Uq1, dass das Ergebnis unabhängig von Uq1 wird? Das ist ein Scherz,
oder?
Du erhoffst Dir von der Division der rechten Seite durch
2
Uq1, dass das Ergebnis unabhängig von Uq1 wird?
Das ist natürlich nicht möglich. U3 hängt linear von U1 und U2 ab. Hier
habe ich mich von der SLiCAP Ausgabe in die Irre führen lassen (siehe
Screenshot). Für die Darstellung von U3/Uq1 wird die in SLiCAP die Uq2
durch einen Kurzschluss ersetzt.
>Für die Darstellung von U3/Uq1 wird die in SLiCAP die Uq2>durch einen Kurzschluss ersetzt.
OK, für Uq2 = 0 ist U3/Uq1 tatsächlich (und trivialerweise) unabhängig
von Uq1. Äquivalente Aussage: U3 ist proportional zu Uq1 mit einem nur
von den Widerständen abhängigen Proportionalitätsfaktor.
"Trivialerweise" weil: Nimm eine Spannungsquelle U und ein Netzwerk aus
258 kreuz und quer miteinander verschalteten Widerständen. Zwischen
irgendwelche zwei Knoten in dem Netzwerk hängst Du ein Voltmeter. Es
misst die Spannung u. Dann ist u natürlich proportional zu U, weil eine
Verdoppelung/Verdreifachung von U alle Ströme in dem Netzwerk
verdoppelt/verdreifacht.