Verfasst am: 30.01.2008, 23:29
Titel: Matrizen in parametrisierte Funktion fitten
Hallo zusammen!
Ich bräuchte mal einen Denkanstoß zu einem Problem, bei dem ich einfach nicht weiterkomme!
Ich habe an der Arbeit x,y,z -Werte mit einem messsystem aufgenommen.
Die Daten werden aus der *.dat übernommen und mit Hilfe von meshgrid und griddata in einen 3d-surface-plot überführt.
Jetzt ist mein Problem, dass ich gerne eine Funktion dieser Oberfläche hätte.
Also quasi so, dass ich eine Funktion f(x,y) habe, mit der ich die interpolierten z-Werte berechnen kann.
Ich könnte mir vorstellen, dass es nicht so schwer ist, aber ich habe leider keine Idee, wie ich das ereiche!
ich denke Du brauchst zunächst erstmal einen mathematischen Hintergrund bzw. eine Modellfunktion zu der deine Daten gehören.
Wenn du also eine Gesetzmäßigkeit (zwei-, drei- oder n-dimensional) kennst, dann solltest du die Anpassung an diese Funktion mit Optimierungsroutinen, wie fminsearch oder fmincon... vornehmen.
interp3 ist auf die Dauer recht langsam im Aufruf, da der Fit jedesmal neu erstellt wird. Wenn man die spline Toolbox besitzt, kann man den spline-fit ein einziges Mal durchführen, und als Funktion weiterverwenden. Das kann enorm viel Rechenzeit sparen.
_________________
---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 01.02.2008, 21:54
Titel:
Hallo Ihr beiden!
Danke schonmal für die Antworten!
Also ich habe schonmal versucht, die Fläche mathematisch zu beschreiben! Allerdings stoße ich dabei ein wenig an meine Grenzen! Ich habe es lediglich geschafft, eine Funktion z(x) für ein festes y zu approximieren. Da ich allerdings mehrere y habe, beschreibt das ja quasi nur nen kleinen Teil meiner Daten! Ehrlich gesagt, versteh ich dann nicht mehr, wie ich da weitermachen soll. Ich kann ja nicht einfach irgendetwas machen und weiß gar nicht, was ich da gemacht habe!
Also gehen wir lieber von dem Fall aus, dass ich keine Funktion kenne!
Das mit interp3 habe ich mir angeschaut!
Welche Frage gleich aufgetaucht ist, was das v für eine Bedeutung hat.
Wie bekomme ich denn das in meinen Code rein?
V muss ich ja irgendwie definieren...
Zur Splinetoolbox kann ich nur sagen, dass es hier in unserem toolbox verzeichnis nen Verzeichnis splines gibt!
Das Problem bei dem allen hier ist, dass ich hier an den Rechner gesetzt wurde, keine Unterlagen zu Matlab vorhanden sind und ich gar nicht weiß, was das Ding überhaupt alles hat! Konnte mir auch keiner großartig weiterhelfen, da der Ingenieur, der das Programm verwendete gewechselt hat. Jetzt liegt hier eben dieses mächtige Programm einfach so herum und keiner nutzt es... Was für ne Verschwendung!
Naja, zurück zum Problem, also mir scheint die Toolbox zur Verfügung zu stehen. Da ich aber keinen Plan habe, wie die funktioniert, kann ich da auch nicht viel mit machen!
Falls Du dich für Spline entscheidest (da muss man aber höllisch aufpassen, dass man nicht das extrapolieren anfängt, ohne es zu merken), solltest Du Dir in der spline Toolbox die Funktionen csapi und fnval ansehen.Ich nehme immer die pp-Form. Da man in Normalfall die Koeffizienten ohnehin nie ansieht, ist es aber egal.
Und noch eine Anmerkung:
Aus deinem Post interpretiere ich, das das Code-Snippet oben aus dem Code stammt, den Du in einer Firma als Praktikant/Werkstudent/etc? bearbeitest -> man lernt zwar aus dem snippet nicht viel, aber trotzdem ....
Wenn Du mein Praktikant wärst, fände ich das gar nicht lustig !! Normalerweise darf sowas ja nicht nach aussen gegeben werden - da kann man sich viel Ärger einfangen!
_________________
---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 02.02.2008, 11:55
Titel:
So, erstmal Danke!
Zunächst zu Deiner Anmerkung:
Das ist schon mit meinem Chef abgestimmt. Wir sehen in dem Code nichts exklusives, was man nicht auch im Internet finden könnte. So lange ich keine Daten und keine Diagramme poste ist alles im grünen Bereich.
Ich war eben nochmal in der Firma und habe die Funktionen getestet.
Ich komme leider nicht weiter.
Verstehe ich es richtig, dass wenn ich interp2 verwende, dass ich griddata nicht mehr benötige? Oder läuft das Hand in Hand?
Außerdem habe ich mir die beiden Funktionen aus der Toolbox angeschaut, werde mich aber nochmal genauer mit beschäftigen müssen, da die Zeit etwas knapp war!
interp2 macht das gleich wie griddata, nehme ich an. Wäre also austauschbar.
_________________
---------------------------------------------------------------
Leider habe ich daheim zwar Internet aber kein Matlab - daher sind alle Syntaxbeispiele circa Angaben.....
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
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.