wenn ich die Funktion "polyfit" verwende erhalte ich oft einen Fehler über "[...] badly conditionend [...]".
Während ich den Fehler mathematisch nicht voll verstehe, gibt die Hilfe den Lösungsvorschlag centering and scaling zu verwenden. Das Verwenden der mu(1) und mu(2) verringert die Größe der Faktoren, der Fehler bleibt aus. Warum eigentlich?
Wenn ich aber nun mit Hilfe der Polynomfaktoren eine symbolische Funktion baue und diese dazu plotte kommt was ziemlich schräges raus. Weiß jemand was ich falsch mache?
Anbei ein Beispiel, angelehnt an das polyfit Beispiel aus Mathworks, mit case 1 mit mu und case 2 ohne mu.
Meine Annahme ist, dass ich mu irgendwie in das symbolische Polynom einfließen lassen muss.
Code:
clearall;close all;clc;
year = (1750:25:2000)';
pop = 1e6*[791856978105012621544165025326122817011560]';
T = table(year, pop);
order =5;
In
polyfit
wird ein lineares Gleichungssystem gelöst. Wenn die X-Werte groß sind, tritt dabei wegen der numerischen Auslöschung ein schlöecht konditioniertes System auf. Z.B. bei x = 1e6:1e6+10;
Für das berechnete Polynom kann man die X-Werte aber auch zentrieren und normalisieren:
Jetzt hat man X-Werte, die recht symmetrisch und dicht um 0 herum liegen und das Gleichungssystem ist stabil lösbar. Allerdings bekommt man nun andere Koeffizienten. Das kann man aber später berücksichtigen, wenn man z.B. per
polyval
wieder Werte des Polynoms berechnen möchte. Entweder mu als Input anfügen (siehe Dokumentation) oder die gewünschten X-Werte manuell anpassen:
Wenn ich aber nun mit Hilfe der Polynomfaktoren eine symbolische Funktion baue und diese dazu plotte kommt was ziemlich schräges raus. Weiß jemand was ich falsch mache?
Bist Du sicher, dass Du etwas falsch machst? Wieso glaubst du das und was genau ist "schräg"?
Zitat:
Meine Annahme ist, dass ich mu irgendwie in das symbolische Polynom einfließen lassen muss.
führt dazu, dass die Ergebnisse wieder konsistent sind. Das funktioniert also und es sieht auch nichts mehr "schräg" aus.
Was mir jetzt nicht klar ist, ist die physikalische Bedeutung der Zentrierung und Normalisierung. Die Koeffizienten, die sich durch Letzeres ändern, haben ja auch eine Bedeutung (zum Beispiel Gewichtung des quadratischen oder kubischen Anteils in einer Ansteuerungskurve). Ändere ich damit nicht diesen Zusammenhang?
Vielen Dank für die schnelle und aufschlussreiche Antwort,
Ireniaus
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.