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

Probleme mit vierdimensionaler Interpolation

 

Seer
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 23.04.12
Wohnort: ---
Version: 7.14.0.739
     Beitrag Verfasst am: 23.04.2012, 16:03     Titel: Probleme mit vierdimensionaler Interpolation
  Antworten mit Zitat      
Hallo,
ich habe folgendes Problem: Ich habe eine Variable, die von drei Parametern abhängt. Diese Quadrupel liegen in Form einer 945x4 Matrix vor, wobei jede Zeile einen Punkt darstellt.

Ich muss jetzt Werte zwischen den vorhandenen Punkten interpolieren. Ich habe dazu zuerst "griddata" verwendet, was auch funktioniert, aber recht langsam ist (die Interpolation wird in einer Schleife benötigt, die häufig durchlaufen wird).
Matlab schlägt mir vor, statt "griddata" "TriScatteredInterp" zu verwenden, was angeblich zu besserer Perfomance führt. Leider verstehe ich nicht so ganz, wie man "TriScatteredInterp" verwenden soll, Matlabs Onlinehilfe verwirrt mich da mehr als sie hilft.
Mein Chef hat mir noch als Tipp gegeben erst "meshgrid" und dann "interp3" zu verwenden. Leider stürzt der PC in 2/3 der Fälle bei der Erstellung des Meshgrids ab, falls er nicht sofort abstürzt braucht er ewig (nach ca. 5 min. hab ich abgebrochen).

Hat jemand eine Idee wie man das Problem anders lösen könnte, oder hilft"TriScatteredInterp" hier weiter? Falls ja: Kann mir jemand erklären wie ich das korrekt verwende?
Private Nachricht senden Benutzer-Profile anzeigen


Seer
Themenstarter

Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 53
Anmeldedatum: 23.04.12
Wohnort: ---
Version: 7.14.0.739
     Beitrag Verfasst am: 24.04.2012, 09:31     Titel:
  Antworten mit Zitat      
So, ich hab das Problem gelöst bekommen:
Wenn man zu Beginn des Programms die Daten einliest und mit "TriScatteredInterp" die zugehörige Hyperfläche berechnet, kann man in der Schleife einfach mit x = Variable_der_Hyperflaeche([Paramter_1 Parameter_2 Parameter_3]) den interpolierten Wert aufrufen.
Das spart im Vergleich zu "griddata" ordentlich Zeit, weil die aufwendige Berechnung ausgelagert ist, so dass sie nur einmal durchgeführt werden muss (und nicht bei jedem Schleifendurchlauf).

Edit: Zu "TriScatteredInterp": Die interne Matlab Hilfe ist besser als die Mathworks Website.
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.