Matlab Meshgrid Funktion |
11.12.2012, 10:37 | Physinetz | Auf diesen Beitrag antworten » | ||
Matlab Meshgrid Funktion Folgendes Problem: Ich habe ein Rechengebiet welches aus Druck-und dazugehörigen Temperaturwerten besteht. Dieses (annähernd rechteckige) Rechengebiet möchte ich mir nun in Matlab erstellen. Dazu habe ich zwei Vektoren, jeweils einen für die Temperatur und einen für den Druck erstellt mit einer entsprechenden Schrittweite. Das Gebiet wird durch einen minimalen und maximalen Druck sowie eine minimale und maximale Temperatur begrenzt. Über die Funktion "meshgrid" erstelle ich mir nun diese Kombinationsmöglichkeiten (Druck- und Temperaturpunkte) Da zu einem bestimmten Druckwert z.B. p=20bar nur Temperaturen bis 900K zugelassen sind, möchte ich alle Kombinationen mit p=20bar und Temperatur größer als 900K quasi löschen. Meine Frage ist nun, wie ich die "meshgrid" Funktion "filtere" um nur ganz bestimmte Kombinationen zuzulassen? Diese Kombinationsmöglichkeiten möchte ich anschließend in eine Formel bzw. Funktion f=f(p,T) packen und die Funktionswerte berechnen lassen. Wie gesagt, ich darf aber nur bestimmte meshgrid Kombinationen verwenden. Weiß jemand wie das geht? Weiß leider nicht wie ich die logischen Operatoren einbaue. Vielen Dank für Tipps und Tricks ;-) |
||||
11.12.2012, 11:10 | zyko | Auf diesen Beitrag antworten » | ||
RE: Matlab Meshgrid Funktion Falls möglich berechne für alle Gridpunkte . Bilde jetzt ein zweidimensionales logisches Feld durch. Selbstverständlich kann dein logisches Bildungsgesetz auch komplizierter sein. Setze anschließend oder , dann werden diese Werte bei einer Darstellung nicht wiedergegeben. An Stelle von "tilde" schreibe ohne Anführungszeichen "~". Leider habe ich dieses Symbol hier in Latex nicht gefunden. Alternative . |
||||
11.12.2012, 13:00 | Physinetz | Auf diesen Beitrag antworten » | ||
habe es mal versucht, aber an irgendetwas haperts?
VIelelicht könntest mir ja nochmal helfen, thx |
||||
11.12.2012, 13:30 | Physinetz | Auf diesen Beitrag antworten » | ||
Das lf soll ein if sein oder? und dann ohne gleichheitszeichen? |
||||
12.12.2012, 19:16 | zyko | Auf diesen Beitrag antworten » | ||
lf steht für logisches Feld. Ein logisches Feld hat in matlab nur die Werte true oder false, auch wenn die Werte als 1 bzw. 0 angezeigt werden, ist das etwas anderes als ein nichtlogisches Feld mit Werten 0 und 1. Wird ein logisches Feld als Index einer Matrix benutzt, dann heißt das, dass nur die Matrixelemente betrachtet werden sollen, für die lf==true gilt. Das logische Feld muss dann die gleichen Dimensionen wie die Matrix besitzen. Achtung bedeutet die Negation von lf: true-->false; false-->true; Wenn X die p-Werte beschreibt und Y die T-Werte, dann muss deine logische Bedingung (alle erlaubten Werte) lf = X<=pmax && Y<=400; Eine Zuweisung B = f(lf) erzeugt einen eindimensionalen Vektor mit soviel Elementen, wie lf 'true's hat. |
||||
13.12.2012, 12:06 | zyko | Auf diesen Beitrag antworten » | ||
Siehe folgende Beispiele
Bei kleinerer Schrittweite würde die Berandung mit dem Rand eines Viertelkreises übereinstimmen. |
||||
Anzeige | ||||
|
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|