|
Divid |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2009, 10:03
Titel: Plot mit surf
|
|
|
|
|
Ich habe folgendes Problem:
Ich habe eine Rechteckfläche, die über zwei Vektoren (Höhe, Spaltenvektor mit 18 Elementen / Breite, Zeilenvektor mit 10 Elementen) definiert ist. Sozusagen ein Netz aus x- bzw. y-Koordinaten mit insgesamt 180 (18x10) Punkten. Diese Koordinaten, die jeweils die einzelnen Elemente der Vektoren darstellen, sind innerhalb des Vektors zwar aufsteigend, aber sonst nicht geordnet, dh insbesondere nicht linear oder logarithmisch.
Nun habe ich für jeden dieser 180 Punkte einen skalaren Funktionswert Z ermittelt. Z ist also eine Matrix 18x10 mit einfachen Zahlen. Allerdings ist es nicht möglich, Z als f(x,y) darzustellen, da die Berechnung von Z sehr komplex ist und auch teilweise in Programmen außerhalb von Matlab erfolgt. Ich habe also nur den Funktionswert an den definierten Punkten und möchte diesen mit surf plotten. Ich hoffe, es wird klar, was ich meine.
Gibt es nun eine Möglichkeit, aus den beiden Vektoren Höhe und Breite mit Z eine Art Tripel zu bilden und dann das Tripel mit surf zu plotten? Oder vielleicht eine ganz andere Möglichkeit?
Bisher fand ich nur Hinweise, die darauf beruhen Z = f(x,y) zu bilden, was hier aber nicht möglich ist. Ebenso verlangt Matlab bei surf ja Matrizen gleicher Größen.
Falls ich nur nach den falschen Stichworten gesucht habe, bitte ich um die Richtigen.
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.09.2009, 10:41
Titel:
|
|
Hallo,
sollte gehen. Wie du dabei deine Matrix Z ermittelst, ist ja gleichgültig.
Grüße,
Harald
|
|
|
Divid |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2009, 10:50
Titel:
|
|
Nein, das geht nicht. Ich erhalte eben folgende Fehlermeldung:
Laut meinem Matlab-Buch will surf da eben Matrizen x,y,Z gleicher Größe bzw. habe ich das so verstanden.
|
|
|
Divid |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2009, 11:19
Titel:
|
|
Ich bin mittlerweile draufgekommen, einfach mal surf(Z) auszuprobieren und es klappt.
Jetzt habe ich nur noch ein Problem. Beim Vektor Höhe verläuft nicht von 0 --> Max. sondern von einem Wert > 0 zum größten Eintrag. Wenn ich nun wie oben mit surf(Z) plotte, dann beginnt der Plot bei der Höhe = 0, er soll aber bei Höhe = Höhe(1,1) beginnen und bei Höhe(18,1) enden. Wie bekomme ich das hin?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 22.09.2009, 11:29
Titel:
|
|
Hallo,
x und y vertauschen, oder Z transponieren, und es geht. Dann stimmen auch die Beschriftungen. Es müssen nicht Vektoren GLEICHER, sondern ZUSAMMENPASSENDER Größe sein.
Grüße,
Harald
P.S.: Das beste MATLAB-Buch ist wahrscheinlich immer noch die MATLAB Doku.
|
|
|
Divid |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.09.2009, 12:35
Titel:
|
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|