ich habe leider keinerlei Matlab Erfahrung und stehe vor folgendem Problem:
gegeben ist eine Excel Tabelle mit 3 Spalten. In der 1. stehen Werte für Widerstände, in der 2. die Knotennummern und in der 3. die Wiederstandsnummern.
Spalten 2 und 3 geben also sozusagen die Topologie wieder.
Nun kann ich das ganze ja importieren und habe 3 einzelne Vektoren mit den jeweiligen Zeilen.
Am Ende hätte ich gerne eine Leitwertmatrix raus wobei auf der Diagonalen die Leitwerte am Knoten i summiert werden und auf den Nebendiagonalen dann die negativen 1/R_n,i.
Mein erstes Problem ist jetzt, dass ich nicht weis, wie ich Matlab klarmachen soll, dass bspw in Zeile 3 der 1. Spalte der Wiederstand mit der Nummer 15 am Knoten 1 steht.
Ich hoffe ich konnte meine Problemstellung halbwegs verständlich darstellen und freue mich über Antworten.
danke für die schnelle Antwort. Ich habe ein Dokument hochgeladen, dass die Problemstellung darstellt (S. 3 d)). Hier wird das Problem in Mathcad gelöst. Ich würde dies nun gerne mit Matlab realisieren.
ach so, und eine Leitwertmatrix dieser Art berechnet sich folgendermaßen:
bspw 3 Knoten, 4 Widerstände(R13, R23, R12, R30), 4 unbekannte(t1, t2, t3) Temperaturen, 3 Verlustleistungen(Pv1, Pv2, Pv3). Nun kann man eine Knotenspannungsanalyse durchführen, sprich an jedem Knoten den Knotenpunktsatz anwenden. Exemplarisch für den 1. Knoten: Pv1= 1/R13*t1-1/R13*t3+1/R12*t1-1/R12*t2
dies macht man nun für alle Knoten und ermittelt daraus die Matrix.
Diese Leitwertmatrix hat somit die folgende Form: http://webfiles.portal.chalmers.se/et/PhD/KylanderGunnarPhD.pdf
S.42 (33)
mir geht es primär um den richtigen Import von den Excel Daten. Natürlich könnte ich nun händisch neue Variablen mit den richtigen Widerstandsbezeichnungen definieren und diesen dann den Wert aus einer importierten Excel Tabelle zuweisen.
Bsp:
R sei hier der Vektor mit den Widerstandswerten.
Dies ist aber recht aufwendig, bei ca 20 Widerständen.
eine beispielhafte Tabelle habe ich angehängt.
Ich habe leider keine Ahnung wie ich aus der Tabelle dem Widerstandswert die richtige Widerstandsnummer zuordnen soll.
Und sekundär möchte ich dann die Matrix erstellen.
Ich hoffe jetzt ist mein vorhaben besser ersichtlich.
ich würde dir ja gerne helfen, kann aber mit den Erklärungen wenig anfangen.
Das erste PDF mag für Leute mit entsprechenden Anwendungsvorkenntnissen klar sein. Mir erschließt sich daraus jedoch nicht, wie sich die Matrix in d) aus der vorherigen Matrix ergibt.
Die zweite Erklärung: wenn t1 bis t3 unbekannt sind, wie soll man dann damit rechnen?
Das nächste PDF: mit der Formel (33) kann ich nun was anfangen, nur scheint sie im Widerspruch zu deiner vorherigen Formel zu stehen. Was ist hier i und j? Vielleicht Widerstands- und Knotennummern?
Es wäre schön, wenn du zu deinem kleinen Datenbeispiel auch angibst, wie hier das gewünschte Ergebnis ist.
Das ist allerdings ein Schuss ins Blaue, da ich die genaue Anwendung weiterhin nicht verstehe. Es bräuchte also eine für Fachfremde (wie mich) klar verständliche Erklärung , oder du musst dich gedulden, bis jemand mit entsprechenden Fachkenntnissen hier reinschaut. Ob und wann das der Fall sein wird, kann ich nicht abschätzen.
So, ich habe mir jetzt nochmal ein paar gedanken gemacht. Nach wie vor habe ich die 3 Vektoren bspw: Rth=(1000;3;7;9) KnNr=(1;1;1;2) und WidNr=(15;2;5;16)
ich möchte nun eine Matrix erzeugen, die der des obigen Links entspricht. Auf der Hauptdiagonalen die Summe über die Leitwerte der Rth-Werte, die am jeweiligen Knoten stehen Bsp: Am Knoten 1 sind die Widerstände 15, 2, 5 -->position der Leitwertsumme in der neuen Matrix GG :
Auf den Nebendiagonalen stehen die negativen Leitwerte. Diese entsprechen der folgenden Anordnung: Der Widerstand mit der Nummer k am Knoten i findet sich in der Matrix an der Position GG(i,k) und G(k,i)
Nun habe ich auch schon angefangen etwas Code zu schreiben und dieser sieht wie folgt aus:
ich dachte aber mit find(...) bekomme ich einen Zahlenwert, und somit werden hier einfach nur Zahlenwerte verglichen? Ich kann mir den Error nicht so ganz erklären...
Über Hilfe freue ich mich.
Nach wie vor habe ich die 3 Vektoren bspw: Rth=(1000;3;7;9) KnNr=(1;1;1;2) und WidNr=(15;2;5;16)
Zitat:
die der des obigen Links entspricht.
... und nach wie vor weiß ich nicht, wie das komplette (!) Ergebnis letztlich aussehen soll.
welchen Links? Du hast zwei gepostet, und für mich ist der Bezug zwischen den Informationen wie gesagt nicht klar.
Die Ursache der Fehlermeldung kannst du mit Hilfe des Debuggers leicht herausfinden: wenn einer der Vektoren leer ist (also nichts gefunden wurde), schlägt == fehl.
Zitat:
Auf der Hauptdiagonalen die Summe über die Leitwerte der Rth-Werte, die am jeweiligen Knoten stehen Bsp: Am Knoten 1 sind die Widerstände 15, 2, 5 -->position der Leitwertsumme in der neuen Matrix GG : Code: GG(1,1) = 1000+3+7
In deinem zweiten Link werden aber die Kehrwerte genommen?
Hier ein Versuch, diese Formel nachzuprogrammieren. Ich hoffe, dass es das ist, was du möchtest.
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.