|
|
|
Probleme mit vierdimensionaler Interpolation |
|
| Seer |

Forum-Fortgeschrittener
|
 |
Beiträge: 53
|
 |
|
 |
Anmeldedatum: 23.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.14.0.739
|
 |
|
|
 |
|
Verfasst am: 23.04.2012, 16:03
Titel: Probleme mit vierdimensionaler Interpolation
|
 |
| |
 |
|
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?
|
|
|
|
|
|
| Seer |
Themenstarter

Forum-Fortgeschrittener
|
 |
Beiträge: 53
|
 |
|
 |
Anmeldedatum: 23.04.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 7.14.0.739
|
 |
|
|
 |
|
Verfasst am: 24.04.2012, 09:31
Titel:
|
 |
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.
|
|
|
|
|
|
|
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.
|
|