|
Klee |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 08.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.10.2013, 17:05
Titel: Out of memory
|
|
Hallo,
in meinem Algorithmus kommt folgende Zeile vor
Allerdings soll ich diesen für ein Beispiel auswerten, bei dem m=56324 ist.
Dafür erhalte ich wegen eye(m) den Fehler "Out of memory". Wie könnte ich dieses Problem aufteilen, um den Fehler nicht zu bekommen?
Viele Grüße
Klee
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.10.2013, 19:22
Titel:
|
|
Hallo,
mit den gegebenen Informationen ist die Frage schwierig zu beantworten.
Der Algorithmus ist offensichtlich nicht für Daten dieser Größe geeignet, da die Matrix im Speicher rund 25 GB brauchen würde - und dann hat man noch nicht mal angefangen, damit zu arbeiten.
Bitte also mal einen etwas größeren Zusammenhang schildern:
- welche Dimensionen hat das originale A (d.h. was ist n?)
- was macht der Algorithmus insgesamt?
- was soll mit dem erweiterten A anschließend gemacht werden?
Grüße,
Harald
|
|
|
Klee |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 08.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.10.2013, 22:02
Titel:
|
|
Danke für die schnelle Antwort.
n ist in meinem Beispiel 2. Es geht um ein Innere-Punkte-Verfahren, d.h. es löst Probleme der Form "minimiere c'x, sodass Ax<=b".
Durch das Anhängen der Einheitsmatrix an A erhält man Ax=b, wobei der Vektor x entsprechend verlängert wird, und A wird invertierbar, was im Laufe des Algorithmus gebraucht wird.
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 09.10.2013, 08:22
Titel:
|
|
Hallo Klee,
Ich kann mir nicht vorstellen, dass "[A eye(m)]" invertierbar sein kann, da es keine quadratische Matrix ist. Das erzeugen einer riesigen Einheitsmatrix ist nicht effizient. Eine Sparse-Matrix wäre hier praktischer.
Gruß, Jan
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.10.2013, 09:49
Titel:
|
|
Hallo,
in der Optimization Toolbox gibt es für diese Zwecke linprog. Warum verwendest du nicht diese Funktion stattdessen?
Grüße,
Harald
|
|
|
Klee |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 08.10.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.10.2013, 11:32
Titel:
|
|
linprog hilft mir an dieser Stelle leider nicht, da es für mein Beispiel (redundantes Klee-Minty-Problem) ineffizient ist.
Mit der Sparse-Matrix hat es jetzt funktioniert. Vielen Dank!
|
|
|
|
|
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.
|
|