WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Matrizen invertieren

 

muhmar
Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 16.07.08
Wohnort: ---
Version: 7.4
     Beitrag Verfasst am: 12.03.2009, 11:19     Titel: Matrizen invertieren
  Antworten mit Zitat      
Hey Leute,
wahrscheinlich ist das eine ziemlich banale Frage, aber mich beschäftigt das doch sehr.
Und zwar hab ich mir ein Programm zur Berechnung einer ausgleichenden Kugel geschrieben und bin jetzt an einer Stelle die mich irritiert.
Und zwar lese ich dazu eine Koordinatendatei ein und berechne daraus meine Parameter zu berechnen. Wenn nun die Punktdatei zu groß wird, gibt er mir aus, dass irgendwelche Matrizen singulär werden. Liegt des vllt an der Inversion, dass Matlab nur bis zu einer bestimmten Größe invertieren kann, oder...!?!?
Ich hab keinen Plan.

Gruß Muhmar
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden


muhmar
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 16.07.08
Wohnort: ---
Version: 7.4
     Beitrag Verfasst am: 12.03.2009, 11:23     Titel:
  Antworten mit Zitat      
Also die konkrete Aussage von MatLab ist:

"Warning: Matrix is singular to working precision."
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Bijick
Ehrenmitglied

Ehrenmitglied



Beiträge: 914
Anmeldedatum: 18.06.07
Wohnort: Nürnberg
Version: R2006b, R2008b
     Beitrag Verfasst am: 12.03.2009, 11:37     Titel:
  Antworten mit Zitat      
Hallo Muhmar,

das liegt nicht an der Größe der Matrizen allein. Singulär heißt eine Matrix dann, wenn ihre Determinante Null ist. "singular to working precision" bedeutet, dass die Determinante "fast Null" ist, also Matlab den Wert nicht von Null unterscheiden kann. Eine Inversion ist dann nicht möglich.

Ich würde sagen, es passiert hier zufällig bei großen Matrizen, das Problem liegt bei den Werten in der betreffenden Matrix.

Wie berechnest Du denn die Inverse und wofür? Die Funktion inv sollte sparsam verwendet werden, eventuell kommst Du mit \ etwas weiter.

Herzliche Grüße
Bijick
_________________

>> why
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Helmert
Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 04.09.08
Wohnort: Karlsruhe
Version: 2011a
     Beitrag Verfasst am: 12.03.2009, 13:43     Titel:
  Antworten mit Zitat      
Hallo Muhmar,

ich denke auch, daß das Problem nicht bei der Größe der Matrix sondern an den Werten darin liegt. Wenn man eine korrekte Implementierung voraussetzt, wären z. B. folgende Ursachen denkbar:

- Die Punkte sind so angeordnet, daß die Lösung geometrisch mehrdeutig ist, z. B. wenn alle Punkte (nahezu) in einer Ebene liegen.

- Je nachdem, welches Modell du verwendest, können weitere Singularitäten auftreten, z. B. wenn ein beobachteter Punkt mit deinen Näherungskoordinaten für den Kugelmittelpunkt (nahezu) identisch ist.

- Wenn du mit sehr großen Zahlenwerten arbeitest, kann es zu numerischen Instabilitäten kommen. Hier könnte eine vorherige Zentrierung der Punktwolke auf den Schwerpunkt nebst Skalierung auf kleine Zahlenwerte helfen, was nach der Schätzung dann wieder rückgängig zu machen wäre.

Evtl. wären noch weitere Möglichkeiten denkbar ...
Private Nachricht senden Benutzer-Profile anzeigen
 
muhmar
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 15
Anmeldedatum: 16.07.08
Wohnort: ---
Version: 7.4
     Beitrag Verfasst am: 12.03.2009, 16:33     Titel:
  Antworten mit Zitat      
Okay, Problem gelöst! Ich hab mir Kugelpunkte simuliert. Da hier die Werte durch eine falscha Annahme nahezu identisch waren, wurden die Matrizen singulär. Danke euch!!
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 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.