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

cftool liefert teilweise

 

Janine
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 07.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.07.2012, 16:16     Titel: cftool liefert teilweise
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein Problem beim curve fitting. Eigentlich habe ich Datenreihen die zu einer Funktion 1/x^2 proportional sein sollten. Aus diesem Grund habe ich auf das cftool zurückgegriffen. Nun ist es jedoch so, dass das Ganze manchmal einfach richtig schlechte Ergebnisse liefert, die ich mit etwas rumprobieren (also von Hand Polynome schätzen und dann zur Kontrolle Messdaten und Schätzpolynom plotten) besser annähern kann. Das ist aber natürlich keine endgültige Lösung.
Was mich besonders irritiert ist die Tatsache, dass es für einen Teil der Daten ganz wunderbar funktioniert und für manche dann wieder gar nicht. (Dazusagen muss ich vielleicht auch noch, dass alle Daten über die gleiche Funktion gewonnen werden, also durchaus etwas miteinander zu tun haben, sodass die Annahme der Proportionalität zu 1/x^4 nicht völlig aus der Lust gegriffen ist.)
Um auch gleich ein Beispiel zu bringen:
Für die Dantenreihe

d1 =

1.0e+004 *

1.8092
0.2010
0.0724
0.0369
0.0223

funktioniert es z.B. NICHT.
Für

d2 =

1.0e+004 *

1.0916
0.1213
0.0437
0.0223
0.0135

aber schon.

Woran könnte es liegen, dass die Kurve beim 1. Beispiel so komplett daneben liegt? Gibt es irgendwelche Einstellungen, die ich beachten muss?

Wäre toll, wenn mir jemand helfen oder mir zumindest sagen könnte, weshalb das nicht funktionieren kann!

Viele Grüße,
Janine
Private Nachricht senden Benutzer-Profile anzeigen


Andidas
Forum-Anfänger

Forum-Anfänger


Beiträge: 33
Anmeldedatum: 16.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 15.08.2012, 18:03     Titel:
  Antworten mit Zitat      
Welches Verfahren verwendest du? Stell mal auf Levenberg Marquard um. Das müsste dann klappen... Kann daran liegen dass die "Trust-Region" zu groß ist und die Werte nicht konvergieren...

Gruß Andreas
Private Nachricht senden Benutzer-Profile anzeigen
 
Janine
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 07.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.08.2012, 13:11     Titel:
  Antworten mit Zitat      
Danke Andreas! Nachdem ich nun wieder Zeit habe mich diesem schon etwas länger liegengebliebenem Problem zu widmen, werde ich das einmal probieren!

Allerdings stehe ich im Moment noch vor einem anderen Problem. Bisher habe ich als fittype 'rat02' benutzt. Da ich wie bereits beschrieben eine Funktion in der etwas einfacheren Form k/x² erwarte (also nicht k/(x²+ax+b)), wollte ich meinen Funktionstyp selber definieren. Und zwar so:

Code:

ft = fittype(@(a,x) a/(x.^2));
f = fit(xdata, ydata, ft);
 


Nun bekomme ich jedoch diese Fehlermeldung:
Error using fit>iFit (line 414)
Function value and YDATA sizes are incommensurate.

xdata und ydata sind jeweils Spaltenvektoren mit 50 Einträgen. Was mache ich denn falsch? Ich habe schon gegoogelt, aber finde irgendwie keine schlüssige Antwort...
Die Variable x im fittype ist ja per Defaultwert die unabhängige Variable und a wird damit doch auch automatisch als Koeffizient gedeutet. Daran kann es doch nicht liegen, oder?

Vielen Dank und liebe Grüße!
Private Nachricht senden Benutzer-Profile anzeigen
 
Janine
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 07.01.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.08.2012, 10:01     Titel:
  Antworten mit Zitat      
Ok, ich hab meinen Fehler gefunden. Es lag wie meistens an einer Kleinigkeit... Der Punkt vor dem Geteiltzeichen hat gefehlt Embarassed
Jetzt funktioniert der Fit auch für alle Werte und wenn ich den Levenberg Marquard Algorithmus verwende, werden die Ergebnisse noch besser.
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.