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

Matlab Prameter curvefitting

 

Patze
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 24.10.16
Wohnort: Stuttgart
Version: ---
     Beitrag Verfasst am: 01.11.2016, 22:13     Titel: Matlab Prameter curvefitting
  Antworten mit Zitat      
Hallo zusammen,
dies hier ist mein erster Beitrag, deswegen werde ich mich kurz vorstellen. Mein Name ist Patrick, ich bin 22 Jahre alt und studiere an der Uni Stuttgart Fahrzeug- und Motorentechnik. Ich beschäftige mich mit Matlab seit 2 Monaten immer wieder einmal.

Ich habe mein Problem mal auf ein Minimalbeispiel reduziert:

Code:
%
x=linspace(0,2*pi,100);     % Erzeugt x-Achse
a=1;                    
y1=a*sin(x+0.1*randn(size(x)))+ 0.1*randn(size(x));  %Erzeugt Kurve 1
a=2;
y2=a*sin(x+0.1*randn(size(x)))+0.1*randn(size(x));  %Erzeugt Kurve 2

scatter(x,y1);
hold on
scatter(x,y2);
%wird angenähert durch a*sin(x+z)
 

Dieses Programm erzeugt 2 zufällige Kurven die mit der Funktion y=a*sin(x+z) angenähert werden sollen.
a ist dabei ein von mir gesetzter Eingangsparameter, den ich bestimme. z ist ein Parameter der über beide Kurven konstant ist, aber unbekannt ist.

Ich möchte nun ein z finden,dass für beide Kurven (in Abhängigkeit des Eingabeparameters a) der Bestmögliche Fit erreicht wird. Lsqcurvefit bestimmt mir ja nur Kurve 1 (bsw. einen guten Fit, es kann aber sein, dass dann der andere Fit für Kurve 2 nicht mehr zufriedenstellend ist.
Deshalb möchte ich sozusagen den besten Kompromissfit finden.

Startwerte für die Optimierung für z sind vorhanden. Kennt da vlt. jemand eine Funktion die so etwas schon macht?

Grund des Ganzen: Ich habe Messdaten erhalten, die sich von ihrer Grundgleichung sehr ähneln. Die Grundgleichung enthält viele verschiedene konstante, unbekannte Parameter, die ich herausfinden will. (ca. 40Stk, wie z.B. z im Minimalbeispiel). Idealerweise kann jede Messreihe durch die Funktion f(Parameter1,...,Parameter3) perfekt gefittet werden. Parameter 1-3 sind dabei bekannte Eingabewerte (wie im Minimalbeispiel das a)Dabei sind aber viele Konstanten enthalten, die es herauszufinden gilt( siehe z).

Ich hoffe das war einigermaßen verständlich und ihr könnt mir helfen.

Vielen Dank!
Mit freundlichen Grüßen

untitled.jpg
 Beschreibung:

Download
 Dateiname:  untitled.jpg
 Dateigröße:  21.88 KB
 Heruntergeladen:  262 mal

_________________

Matlab Version R2016a
Anfänger
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.