|
|
| LordExcalibur |

Forum-Anfänger
|
 |
Beiträge: 39
|
 |
|
 |
Anmeldedatum: 07.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 16.01.2012, 10:02
Titel: Warning: Rank deficient
|
 |
Hallo,
ich habe im Matlab Code eine Schleife in der folgendes gerechnet wird:
A=[Lin(:,m).^9 Lin(:,m).^8 Lin(:,m).^7 Lin(:,m).^6 Lin(:,m).^5 Lin(:,m).^4 Lin(:,m).^3 Lin(:,m).^2 Lin(:,m) ones(size(Lin,1),1)];
LV_par(:,m,n,ec)=A\ZV(:,m,n,ec);
Dabei wird eine Regressionsfunktion 9. Grades durch die Punktewolke aus Lin und ZV gelegt. Die Berechnung erfolgt innerhalb einer Schleife.
Nun erhalte ich die folgende Meldung mehrfach wenn der Code ausgeführt wird:
"Warning: Rank deficient, rank = 8, tol = 2.0886e-013."
"Warning: Rank deficient, rank = 7, tol = 2.0886e-013."
Offensichtlich hat das ganze etwas mit dem Grad der Regressionsfunktion zu tun. Sofern ich den Grad der Funktion auf 6 begrenze tritt die Meldung nicht auf.
Kann mir jemand sagen was das genau bedeutet und wie es dazu kommt?
Viele Grüße.
Sebastian
|
|
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 16.01.2012, 10:09
Titel:
|
 |
Hallo,
du versuchst 10 Parameter zu finden. Es kann passieren, dass du aber weniger als 10 [signifikant] voneinander linear unabhängige Gleichungen hast. Dann kommt diese Warnung, da es dadurch zu numerischen Instabilitäten kommen kann.
Wenn du die Warnung nur nicht sehen willst, kannst du mit
herausfinden, welche Warnung die letzte war, und das Ergebnis in
reinkopieren, damit die Warnung nicht angezeigt wird.
Unabhängig von der Warnung: Bist du sicher, dass es sinnvoll ist, ein Polynom 9. Grades durch die Daten zu legen?
Anders gefragt: was machst du mit dem Polynom?
Grüße,
Harald
|
|
|
|
| Jan S |

Moderator
|
 |
Beiträge: 11.057
|
 |
|
 |
Anmeldedatum: 08.07.10
|
 |
|
 |
Wohnort: Heidelberg
|
 |
|
 |
Version: 2009a, 2016b
|
 |
|
|
 |
|
Verfasst am: 16.01.2012, 17:27
Titel: Re: Warning: Rank deficient
|
 |
Hallo LordExcalibur,
Mit welcher Funktion Berechnest Du das Polynom und wie sieht die vollständige Fehlermeldung aus?
Wird eventuell angeraten, die Daten zu skalieren und zu normalisieren? In dem Fall sollte man das auch tatsächlich machen.
Gruß, Jan
|
|
|
|
| LordExcalibur |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 39
|
 |
|
 |
Anmeldedatum: 07.05.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 17.01.2012, 12:41
Titel:
|
 |
Die Funktion zur Polynomberechnung habe ich ja gepostet. Die Parameter des Polynoms werden über die \ Funktion in Matlab ermittelt.
Die Fehlermeldung habe ich auch gepostet. Diese wird jedoch mehrfach ausgegeben, vermutlich da das Programm in mehreren geschachtelten Schleifen durchläuft.
|
|
|
|
| Harald |

Forum-Meister
|
 |
Beiträge: 24.502
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 17.01.2012, 13:01
Titel:
|
 |
Hallo,
hast du meine Antwort eventuell übersehen? Ich meine, ganz gut beschrieben zu haben, warum die Warnung auftritt.
Grüße,
Harald
|
|
|
|
|
|
|
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.
|
|