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

Interpolation 3D Daten

 

smaica
Forum-Century

Forum-Century


Beiträge: 105
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2013, 12:11     Titel: Interpolation 3D Daten
  Antworten mit Zitat      
Hallo,

ich habe ein Problem bei der Interpolation von Oberflächen Daten. Es handelt sich um Daten die der Funktion f(x,y) gehorchen, also eigentlich 2D Daten.

Ich verstehe auch durch die Matlba-Erklärungen nicht richtig, wie ich z.B. Funktionen wie "griddatan" oder "interp3" richtig anwende. Ich habe meine Stützpunkte x und y und die dazugehörigen Werte z. Aber was z.B. muss ich angeben für VI, wenn ich noch nicht weiß, wie die zugrundeliegende interpolierte 3D-Form aussieht?

In einem nächsten Schritt möchte ich außerdem gerne, dass ich bestimmen kann nach welchem Schema ich Interpoliere, z.B. immer über lokale Maxima oder, dass die interpolierte Fläche symmetrisch sein soll. Kann ich das irgendwie bestimmen?

Ich würde mich sehr freuen, wenn sich einer von euch mit dem Interpolieren einer Fläche auskennt und mir weiterhelfen kann.

Vielen Dank im Voraus!
Smaica

P.S. Im Anhang ist die zu interpolierende Variable sowie ein Bild der mit Mesh geplotteten Daten.

SollInterpoliertWerden.xls
 Beschreibung:

Download
 Dateiname:  SollInterpoliertWerden.xls
 Dateigröße:  463.5 KB
 Heruntergeladen:  453 mal
meshSKYM.png
 Beschreibung:

Download
 Dateiname:  meshSKYM.png
 Dateigröße:  26.1 KB
 Heruntergeladen:  671 mal
Private Nachricht senden Benutzer-Profile anzeigen


smaica
Themenstarter

Forum-Century

Forum-Century


Beiträge: 105
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2013, 12:30     Titel:
  Antworten mit Zitat      
Hallo,

ich krame meinen Post nochmal vor, es geht nämlich wieder um Interpolation. Bei meiner letzten Frage habe ich selbst den Fehler gemacht, dass ich nicht Interpolieren meinte, sondern Fitten. Das tut mir Leid, aber die Frage hat sich dann auch schon geklärt.
Nun will ich allerdings wirklich etwas Interpolieren.
Ich habe eine Matrix (366x96), für die ich an nur 60 der 366 Stellen Werte habe, also ich habe. Diese will ich nun auf die Fläche von 366x96 interpolieren.

ich habe schon folgendes mit interp2 probiert:

Code:
[X,Y]=meshgrid(1:96,1:366);

Vq = interp2(SollInterpoliertWerden,X,Y)


Die Matrix(allerdings in Excel gespeichert, da ich hier keine .mat files hochladen kann)habe ich angehangen. Vq spukt mir jedoch an den Stellen, wo ich keine Werte hatte, sondern die ich dann mit NaN gefüllt habe, wieder nur NaN aus. Was mache ich flasch?

Ich würde mich diesmal über Tips sehr freuen

smaica

SollInterpoliertWerden.xls
 Beschreibung:

Download
 Dateiname:  SollInterpoliertWerden.xls
 Dateigröße:  532 KB
 Heruntergeladen:  426 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

wenn ich das richtig sehe, fehlen in den Daten immer komplette Zeilen. Dann würde ich es so machen: bei den Ausgangsdaten auch nur die gültigen Zeilen angeben.

Du musst dann allerdings im Aufruf von interp2 auch X und Y angeben (bezogen auf die Syntax in der Doku), damit die Zeilen richtig zugeordnet werden können.

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

Forum-Century

Forum-Century


Beiträge: 105
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2013, 13:23     Titel:
  Antworten mit Zitat      
Hallo Harald,

vielen Dank für deine Antwort.
Ich habe jetzt die Daten statt in einer 366x96 Matrix in einer 60x96 Matrix. Aber wie gebe ich bei X und Y an, dass z.B. Zeile 1 der neuen Matrix zur Zeile 4 der Matrix gehört, die ich Interpolieren will?

LG
smaica
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


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

du musst wirklich nur die Zeilennummern angeben, die du hast. Wenn beispielsweise Zeilen 4, 9, 10 und 313 aus der Originalmatrix übriggeblieben sind, kannst du [4, 9, 10, 313] für Y verwenden.
X sollte 1:96 sein.

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

Forum-Century

Forum-Century


Beiträge: 105
Anmeldedatum: 02.10.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.04.2013, 15:04     Titel:
  Antworten mit Zitat      
Super, hat alles geklappt, vielen Dank!
Private Nachricht senden Benutzer-Profile anzeigen
 
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.