|
Avernus |
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 08.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.08.2013, 15:05
Titel: inv Befehl in Matlab
|
|
Hallo kann mir jemand sagen was Matlab macht um die Inverse mit dem Befehl inv zu Berechnen?
A|I mit I=Einheitsmatrix und solange umformen bis I|A^-1 da steht. Oder etwas anderes?
Vielen Dank
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 17.08.2013, 11:57
Titel:
|
|
Hallo,
Gegenfrage: warum willst du die Inverse berechnen?
Falls es um die Lösung eines Gleichungssystems A*x = b geht, ist A\b schneller (siehe auch Beispiel in der Doku von inv).
Falls es um die Lösung mehrerer Gleichungssysteme A*x_i = b_i geht, dann dürfte eine LU-Zerlegung mit anschließender Vorwärts-/Rückwärtssubstitution schneller sein.
Grüße,
Harald
|
|
|
Avernus |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 08.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.08.2013, 12:07
Titel:
|
|
weil ich Sie brauche^^
es geht um eine Block-Ilu. Dafür Teile ich an der Stelle an dem normalerweise durch ein Element teilt durch den Block, also mal der Inverse.
Mir ist klar dass es mit dem A\B schneller geht. Ich habe auch nur Interesse an der Art wie Matlab die Inverse berechnet, nicht an einem Tipp mit welchem Befehl es schneller geht.
Danke
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 17.08.2013, 17:54
Titel:
|
|
Hallo Avernus,
Harald erwähnt die effizientere Methode, weil die explizite Berechnung einer Inversen in 99% der Fälle ein Zeichen für einen Anfänger-Fehler ist. Auch hier klingt "mal der Inversen" nicht als wirklich überzeugendes Argument, den Backslash-Operator nicht zu verwenden.
Die Dokumentation des INV-Befehls verrät alles, was darüber veröffentlich wurde. Weitergehende Informationen hängen von der Matlab-Version und den verwendeten Libraries ab, sind also nicht allgemeingültig. Also: http://www.mathworks.com/help/matlab/ref/inv.html, insbesondere dort der Tipp, beim Befehl mldivide nach weitergehenden Details zu suchen.
Gruß, Jan
|
|
|
Avernus |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 19
|
|
|
|
Anmeldedatum: 08.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 17.08.2013, 19:04
Titel:
|
|
Ich weiß schon warum er, dass gemeint hat. Danke
Schade, ich hatte gehofft jemand wüsste etwas mehr dazu :-/
Nochmal zu Erklärung, mein Algorithmus soll später in eine andere Sprache überführt werden. Deshalb muss ich sehr rudimentär bleiben.
Ich schreibe in Matlab, da ich mich besser auskenne und kann mein Tageswerk schneller Testen.
Das überführen ist dann nur ein kleiner Schritt.
Danke Jan und Harald.
Grüße
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 17.08.2013, 21:42
Titel:
|
|
|
|
|
|
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 - 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.
|
|