Verfasst am: 24.06.2016, 17:00
Titel: Regression ohne NaN in einzelnen Zeilen
Hallo Zusammen, ich bin neu hier und habe auch direkt eine Frage. Ich muss eine Regression zwischen 2 Matrizen machen, allerdings immer Zeile gegenüber Zeile. Wäre jetzt nicht weiter schwierig. Mein Problem ist, dass die eine Matrix unterschiedlich viele NaN beinhaltet. Gelöst habe ich das beispielhaft so:
Jetzt könnte ich zwar eine Regression machen, allerdings erfolgt diese dann für die gesamte Matrix. Ich brauche es aber Zeile für Zeile, so dass ich nachher (in diesem Fall) eine 2x2 Matrix bekomme mit den entsprechenden Koeffizienten. Quasi muss dieser Code
irgendwie automatisch umgesetzt werden. In diesem Fall ist es nur eine 2x15 Matrix. Da könnte man es per Hand machen. Ich habe aber leider später Matrizen in der Größe 15000x3000, da funktioniert es leider nicht mehr. Für Hilfe wäre ich sehr dankbar. Zerbrech mir jetzt schon seit 2 Tagen den Kopf.
Question
I am performing fitting using "polyfit". When the data contains NaN, the result is also NaN:
x=1:3;
y=2*x;
y(2)=NaN;
p=polyfit(x,y,1)
When using the "Basic Fitting" tool however the result does not contain NaNs. Why is this?
Answer
"Basic Fitting" ignores NaNs in the input while "polyfit" takes them into account. To obtain a result without NaNs, remove them:
x=1:3;
y=2*x;
y(2)=NaN;
Nein, leider nicht. Das Problem ist, das eine Matrix existiert die an unterschiedlichen Stellen unterschiedlich viele NaN enthält. Würde man jetzt einfach die NaN löschen, würde eine Matrix mit unterschiedlicher Zeilenlänge entstehen, was nicht möglich ist. Das Problem hat sich aber erledigt, da ich eine Lösung gefunden habe, indem ich auf den Befehl polyfit verzichtet und die Regression selber gemacht habe. Jetzt funktioniert es, dass man Zeilenweise eine Regression trotz unterschiedlicher NaN-Werte durchführen kann und eine Matrix mit dem entsprechenden Koeffizienten und dem Intercept erhält.
Danke dir trotzdem.
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.