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

Matrizen in parametrisierte Funktion fitten

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.01.2008, 23:29     Titel: Matrizen in parametrisierte Funktion fitten
  Antworten mit Zitat      
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!


Hier mal der Code:


Code:

x = xlsread('Daten.xls', '30° x');
y = xlsread('Daten.xls', '30° y');
z = xlsread('Daten.xls', '30° z');
xmin = min(x); ymin = min(y);
xmax = max(x); ymax = max(y);
xres=90;
yres=20;
xv = linspace(xmin, xmax, xres);
yv = linspace(ymin, ymax, yres);
[Xinterp,Yinterp] = meshgrid(xv,yv) ;
Zinterp = griddata(x,y,z,Xinterp,Yinterp,'cubic')
figure
surf(Xinterp,Yinterp,Zinterp), colorbar('vert')
map=colormap, size(map)
xlabel 'x';
ylabel 'y';
zlabel 'z';
title 'dyn.';
 


Danke schon mal im Voraus!!

Grüßle
Marco


lupie
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 14.01.08
Wohnort: Halle(Saale)
Version: ---
     Beitrag Verfasst am: 31.01.2008, 14:48     Titel:
  Antworten mit Zitat      
hallo,

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.
Private Nachricht senden Benutzer-Profile anzeigen
 
Michaela
Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 31.01.2008, 21:08     Titel:
  Antworten mit Zitat      
Zuerst mal gebe ich lupie recht, dass es am besten ist, wenn Du eine FUnktion kennst, die die Daten beschreibt (beschreiben sollte Laughing )

Wenn das nicht vorhanden ist, verwende doch ein spline oder kubische oder lineare Interpolation. Kennst Du den Befehlt
interp3 ?http://www.mathworks.com/access/hel.....p;submitButtonName=Search

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.....
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 01.02.2008, 21:54     Titel:
  Antworten mit Zitat      
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! Smile
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! Smile 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... Sad Was für ne Verschwendung! Smile

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!

Danke für Eure Hilfe!

Grüßle
 
Michaela
Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 02.02.2008, 06:42     Titel:
  Antworten mit Zitat      
Aus Zeitmangel eine sehr knappe Antwort, sorry.

sorry, Du hast kein V. DU brauchst interp2

Z = f(x,y)


Dann kannst du ja mal mit den Optionen spielen.

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.....
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2008, 11:55     Titel:
  Antworten mit Zitat      
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!

Danke so weit schonmal!

Grüßle
 
Michaela
Forum-Century

Forum-Century


Beiträge: 239
Anmeldedatum: 12.07.07
Wohnort: ---
Version: bis 2007b
     Beitrag Verfasst am: 03.02.2008, 20:35     Titel:
  Antworten mit Zitat      
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.....
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 - 2024 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.