Drahtgittermodell < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 16:28 Do 29.11.2012 | Autor: | UmbertoGecko |
Aufgabe | Bestimmen Sie aus der in (b) erhaltenen Lösung die Werte der Trendfläche auf dem Meshgrid, und stellen Sie so die Trendfläche als Drahtgittermodell dar.
Gegeben: x, y, h (jeweils 50x1) |
Hallo,
ich habe 3 Vektoren (50x1): x, y (gegebene Koordinaten) und htrend (Höhe einer zuvor bestimmten Trendfläche* für Daten h) nun soll ich daraus ein Drahtgittermodell plotten.
geht aber nicht da mesh für die Z achse eine Matrix und keinen Vektor verlangt, mit plot 3 funktioniert das ganze aber ich erhalte nat. damit nicht das gewünschte Drahtgittermodell.
*Vorhergehende Trendflächenbestimmung:
A = [ ones(50,1), x, y]
Trend = A \ h
htrend = A * Trend
Hat jemand eine Lösung? Ist evtl schon mein Trendflächenansatz falsch?
Danke.
|
|
|
|
Du berechnest anscheinend den Funktionswert als Lösung eines LGS. Hilft vielleicht dir das hier weiter:
1: | % Dummy -Daten
| 2: | X=1:10;
| 3: | Y=1:10;
| 4: |
| 5: | % in Matrix umwandeln
| 6: | X=repmat(X,size(X,2),1);
| 7: | Y=repmat(Y',1,size(Y',1));
| 8: | % Z-Wert ausrechnen
| 9: | Z=sin(X)+cos(Y);
| 10: | % mesh plotten
| 11: | mesh(X,Y,Z); |
Ich muss da auch noch einmal nachdenken, wie man das anpassen kann. Aber vielleicht hilft dir das schon.
Wenn es nicht unbedingt Matlab sein muss und du das Bild in guter Qualität haben möchtest, dann ist
http://pgfplots.sourceforge.net/gallery.html
zu empfehlen.
1: |
| 2: | \begin{tikzpicture}
| 3: | \begin{axis}[title=Gnuplot]
| 4: | \addplot3[mesh,domain=-2:2] gnuplot{exp(-x^2-sin(y)^2)};
| 5: | \end{axis}
| 6: | \end{tikzpicture}
|
[Dateianhang nicht öffentlich]
Dateianhänge: Anhang Nr. 1 (Typ: PNG) [nicht öffentlich]
|
|
|
|
|
Hm, das mit dem reshapen hatte ich auch schon überlegt, aber ich weiß nicht wie ich das machen soll ohne dass die Daten später anders widergegeben werden.
Und ja, es MUSS leider Matlab sein....
Sonst noch jemand eine Idee?
Aber danke trotzdem!
|
|
|
|
|
Hat niemand eine Idee zu meinem o.g. Problem?
|
|
|
|
|
Hat sich erledigt, bin inzwischen selbst auf die doch viel einfachere Lösung gekommen, als ursprünglich gedacht.
Ich hatte ja bereits den Vektor berechnet, welcher mit die koeffizienten a,b,c ausgibt, und mit einsetzen in z= a + bx + cx und voriger Erstellung eines Grid mittels meshgrid, konnte ich das Problem lösen und die Ebene plotten.
Nun nur noch eine weitere Frage, wie kann ich die urspünglichen Punktdaten in diesen Plot integrieren? Also meine 50 Datenpunkte auf denen die Trendfläche basiert. Und zur Masterfrage, wie kann ich von diesen Punkten vertikale Linien zur Trendfläche erstellen?
|
|
|
|