WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

mesh bzw. Drahtgittermodell mit Daten aus 3 Vektoren

 

Umberto

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.11.2012, 16:12     Titel: mesh bzw. Drahtgittermodell mit Daten aus 3 Vektoren
  Antworten mit Zitat      
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 als Lösung eines LGS:
Code:
A = [ ones(50,1), x, y]
Trend = A \ h
htrend = A * Trend
 


Hat jemand eine Lösung?

Danke.


Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2012, 14:14     Titel:
  Antworten mit Zitat      
niemand eine Idee??
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 02.12.2012, 21:37     Titel: Re: mesh bzw. Drahtgittermodell mit Daten aus 3 Vektoren
  Antworten mit Zitat      
Hallo Umberto,

Ich zumindest habe keine Idee, da ich die Aufgabenstellung nicht verstehe.
Dass Du für MESH eine Matrix brauchst, liegt daran, das man einfach für alle Punktre des Gitters passende Z-Werte benötigt. Daran führt einfach kein Weg vorbei. Wie könnte man denn die Z-Werte erhalten?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Umberto

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2012, 23:50     Titel:
  Antworten mit Zitat      
Hallo Jan,

ja das ist leider auch die Frage die ich mir stelle.

Nur nochmal zum Grundsätzlichen:
Ich habe 50 Z-Werte, welche Bezug haben zu jeweils einem X- und einem Y-Wert (also 3 Vektoren 50x1). Wie ich daraus Matrizen erstellen kann, ohne meine Daten zu verändern ist mir unklar.
 
Umberto

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.12.2012, 23:58     Titel:
  Antworten mit Zitat      
Nachtrag:

Im Grunde handelt es sich um ein Koordinatengitter mit 10 000 mal 10 000 (X * Y) Punkten auf welchen 50 Punkte explizit mit X und Y Koordinate und Höhe Z liegen. Ich habe, also nur die 3 Vektoren, die diese 50 Punkte genau beschreiben.

Macht es sinn evtl 2 neue Datensätze 1 bis 10 000 zu erstellen und als Z-Matrix eine Matrix aus der Kombination meiner 3 Vektoren zu erstellen?
Wenn ja, wie?
 
Umberto

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2012, 00:12     Titel:
  Antworten mit Zitat      
Ich glaube ich bin inzwischen auf der richtigen Spur:

Habe nun mit der Funktion meshgrid gearbeitet, bin aber unsicher ob ich sie richtig angewendet habe, da die Lösung zwar eine Fläche ergibt, aber leider mehr als eine (wobei alle recht nahe bei einander liegen).....

Code:


[xh, yh] = meshgrid(x,y)
[zh] = meshgrid(htrend)

%nun funktioniert:
mesh(xh,yh,zh)
surf(xh,yh,zh)
 


Ursprünglich dachte ich, es müsste mit:
[xh, yh, zh] = meshgrid(x,y,htrend)

funktionieren, dann erhalte ich jedoch 50x50x50 Matrizen, mit denen mesh/surf wieder nichts anfangen kann....
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.12.2012, 00:14     Titel:
  Antworten mit Zitat      
Hallo,

das ginge mit TriScatteredInterp, siehe Beispiel in der Doku.
Aber Achtung: bei 10000x10000 Gitterpunkten wird das eine Matrix mit 800 MB, was bei vielen Rechnern den Speicherbedarf übersteigt - zumindest in Kombination mit anderen Daten. Zudem wird die Erzeugung der Darstellung mit mesh/surf dann lange dauern. Ich würde es zunächst mal mit einer 100x100 - Matrix versuchen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Umberto

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2012, 00:14     Titel:
  Antworten mit Zitat      
Sorry, noch ein Nachtrag:

Ich glaube ich weiß inzwischen warum ich soviele Flächen erhalte:
Ich vermute dass für jeden der 50 Z-Werte nun eine Fläche generiert wurde.

Wie könnte ich das abstellen? Bzw. wo liegt der Fehler der dies auslöst?

P.S. Sorry für die vielen Posts in Folge.
 
Umberto

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.12.2012, 15:14     Titel: Problem gelöst. Nun Frage zu Stem3
  Antworten mit Zitat      
@Harald: Danke. 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 Grids mittels meshgrid(x,y), konnte ich das Problem lösen und die Ebene plotten.

Ausserdem habe ich nun meine ursprünglichen Datenpunkte in die selbe Grafik geplottet, wie kann ich von diesen Punkten vertikale Linien zur Trendfläche erstellen?

Habe es bereits mit der funktion stem3 versucht, konnte aber als Basevalue, wie bereits im Namen zu erkennen, nur Werte angeben und nicht die Funktion meiner Fläche... ?
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.