Verfasst am: 15.12.2019, 14:50
Titel: Nichtlineare Regression gibt imaginäre Koeffizienten aus
Hallo zusammen,
Ich habe Parameter und Messwerte aus verschiedenen Versuchsreihen und eine Funktion gegeben, an die ich die Messwerte anpassen möchte. Das Problem ist jedoch, dass Matlab imaginäre Koeffizienten ausgibt.
Meine Frage ist deshalb wie ich verhindern kann, dass imaginäre Koeffizienten eine zulässige Lösung sind. Meiner Meinung nach müssten auch reelle Koeffizienten berechnet werden können, auch wenn der Fit sehr schlecht sein mag.
Sowohl mit lsqnonlin als auch mit verschiedenen Startwerten habe ich es bereits versucht.
Anbei einmal mein Code sowie eine Exceldatei mit den Daten.
Vielen Dank im Voraus.
Code:
% Einlesen der Daten
daten = 'E:\GoMatlab.xlsx';
sheet = 'Messungen';
a = xlsread(daten,sheet, 'A2:A137');
g = xlsread(daten,sheet, 'B2:B137');
f = xlsread(daten,sheet, 'C2:C137');
v = xlsread(daten,sheet, 'D2:M137');
teil = xlsread(daten,sheet, 'E2:E137');
L = xlsread(daten,sheet, 'F2:F137');
B = xlsread(daten,sheet, 'G2:G137');
Vermutlich sind durch die Verwendung von sin und cos negative Ausdrücke unter den Wurzeln entstanden und dadurch die komplexen Zahlen, und damit ist das Problem vielleicht schon gelöst. Bitte nochmal kurz Bescheid geben falls nicht.
Im übrigen sollte es effizienter sein, mit xlsread alles auf einmal einzulesen und dann die Spalten zu extrahieren.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Ja, das war ein Tippfehler beim Übertragen des Codes in das Forum. Das soll natürlich bis D137 gehen.
Vielen Dank für deine Hilfe, mit sind statt sin klappt es nun!
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.