|
|
Ausgleichsrechnung mit Scharparameter? |
|
Konnor24 |

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 07.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 14:37
Titel: Ausgleichsrechnung mit Scharparameter?
|
 |
Hallo zusammen,
ich habe folgendes Problem:
Ich habe eine Art Datenwolke, die ich gerne mit einer Gleichung beschreiben würde. Das Problem dabei ist, dass ich einen Scharparameter drin habe. Ist es trotzdem möglich, eine Ausgleichsrechnung durchzuführen?
Die Gleichung, die meine Datenwolke beschreiben sollte, sieht so aus:
Dabei ist a der Scharparameter
Ich habe X-Werte, Y-Werte und Scharparameter vektoriell vorliegen.
Mein Ansatz war folgender:
Dazu sagt er bisher: Definition of functions not permitted in this context.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 15:00
Titel:
|
 |
Hallo,
schau dir doch mal die Hilfe von nlinfit noch mal genauer an, bzw. die Hilfe der sehr ähnlichen Funktion lsqcurvefit.
Deine Funktionsdeklaration ist so ungültig,
und Funktionen stehen in der Regel auch in eigenen Dateien.
Wieso hast du einen Vektor von Scharparametern? Willst du den Scharparameter nicht mit der Ausgleichsrechnung bestimmen?
Grüße,
Harald
|
|
|
Konnor24 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 07.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 15:46
Titel:
|
 |
|
 |
|
Hallo Harald,
vielen Dank für deine Antwort.
Harald hat Folgendes geschrieben: |
schau dir doch mal die Hilfe von nlinfit noch mal genauer an, bzw. die Hilfe der sehr ähnlichen Funktion lsqcurvefit. |
Das Problem ist, dass ich mit der Hilfe nicht viel anfangen kann, genauso wie mit den Fehlermeldungen. Ich habe gerade ein Beispiel gefunden, wo mit dem "Spline"-Befehl Datenpunkte gefitted wurden. Der Ausgang waren hier auch Vektoren, da habe ich versucht, es für meine Bedürfnisse umzuschreiben und meine Vektoren einzusetzen, da kam die Fehlermeldung "The data sites should be distinct."
Ich habe keine Ahnung was das heisst und wenn man die Matlab-Hilfe nach "distinct" durchsucht findet man keinen Eintrag. So geht mir das die ganze Zeit. Ich finde irgendwelche Beispiele, die jemandem anders geholfen haben, versuche sie umzuschreiben und kriege irgendwelche obskuren Fehlermeldungen.
Harald hat Folgendes geschrieben: |
Wieso hast du einen Vektor von Scharparametern? Willst du den Scharparameter nicht mit der Ausgleichsrechnung bestimmen? |
Der Scharparameter bedingt sich durch die Messungen, aus denen die Vektoren entstehen. Ich möchte wissen, wie ähnlich sich die Messungen und die physikalische Theorie sind. Dafür möchte ich eine Funktion vorschlagen, in denen nlinfit oder lsqcurvefit Parameter variieren kann, in dem Fall die Z1 bis Z3.
Ich habe mal ein Bild meiner Datenwolke angehängt.
Beschreibung: |
|
 Download |
Dateiname: |
zzzzawawh.jpg |
Dateigröße: |
85.88 KB |
Heruntergeladen: |
383 mal |
|
|
|
Konnor24 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 07.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 16:12
Titel:
|
 |
Aus der Reihe obskure Fehlermeldungen:
Er unterstreicht sofort function, sagt "Function definitions are not permitted in this context." und "FUNCTION key word use is invalid here."
Ich darf keine Funktionen definieren, aber wieso sagt er mir nicht?
Ich bin bisher ohne Funktionen zurecht gekommen und eigentlich sollte es doch auch ohne Funktion gehen, oder? Ich habe meine Datenvektoren, einen Vorschlag für die Ausgleichsfunktion, alles was ich will sind 3 Parameter..
Wieso ist das so schwer?
Zuletzt bearbeitet von Konnor24 am 22.03.2013, 17:13, insgesamt einmal bearbeitet
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 16:35
Titel:
|
 |
Hallo,
es ist nicht schwer, wenn man sich an die Vorgaben des Befehls und die Dokumentation hält. Manchmal ist es leichter, wenn man mit einem Modell, das von einer Variable abhängt und einen Parameter hat, anfängt.
Zitat: |
Er unterstreicht sofort function, sagt "Function definitions are not permitted in this context." und "FUNCTION key word use is invalid here."
Ich darf keine Funktionen definieren, aber wieso sagt er mir nicht? |
Wie ich schon sagte: die Funktion muss in eine separate Datei.
Zur Definition einer Funktion solltest du dir (wie auch schon gesagt) die Hilfe anschauen. Dann fällt dir auf, dass du bei deinem letzten Versuch keine Rückgabeparameter definiert hast.
Folgendes könnte ich mir vorstellen:
Dann in einer separaten Datei Datenfit.m
Grüße,
Harald
|
|
|
Konnor24 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 07.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 17:12
Titel:
|
 |
Hallo Harald,
vielen Dank, das sieht schonmal sehr gut aus. Allerdings ist der Vektor betta in meinem Workspace jetzt einfach [1;1;1], sollte der sich nicht unterscheiden von den Startwerten? Es sieht mir so aus, als hätte nlinfit einfach gar nichts gemacht und als betta einfach die Startwerte aus betta0 ausgegeben.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 17:26
Titel:
|
 |
Hallo,
hast du auch die Optimization Toolbox? Dann probier mal:
Vorteil von lsqcurvefit: man kommt bessere Informationen darüber, ob es geklappt hat und wenn nicht: wo das Problem liegt.
Versuche auch, möglichst sinnvolle Startwerte zu wählen. Sowohl lsqcurvefit als auch nlinfit lösen im Hintergrund ein Minimierungsproblem, und es besteht die Gefahr, dass man in ein lokales Minimum läuft.
Für weitere Unterstützung bräuchte ich Testdaten.
Grüße,
Harald
|
|
|
Konnor24 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 20
|
 |
|
 |
Anmeldedatum: 07.01.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 22.03.2013, 17:42
Titel:
|
 |
Hallo Harald,
der Ansatz mit lsqcurvefit scheint zu gehen, ich bekomme keine Fehlermeldung und er schreibt fleissig Vektoren in den Workspace, die so lang sind wie meine Messvektoren. Aber was mich interessieren würde wäre eine Ausgabe des Z-Vektors, also eine Optimierung meiner Datenfit-Funktion mit Hilfe der Z-Werte.
Also etwa frei nach dem Motto "Du hast mir einen Datenhaufen gegeben und einen Funktionsvorschlag mit Z-Werten, hier sind die Z-Werte, die am besten passen:"
Bei völliger Übereinstimmung wären diese Z-Werte alle 1, wovon ich einfach mal nicht ausgehe. Es sollten aber Werte um 1 rauskommen. Wie ich die Abweichung interpretiere muss ich mir dann mal überlegen..
|
|
|
|
|
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.
|
|