|
|
Anpassung der maximalen Variablengröße |
|
Evron |
Forum-Fortgeschrittener
|
|
Beiträge: 51
|
|
|
|
Anmeldedatum: 22.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.11.2009, 14:23
Titel: Anpassung der maximalen Variablengröße
|
|
Hallo zusammen,
beim Anlegen einer sehr sehr großen Matrix bekam ich von Matlab die Fehlermeldung, dass sie die maximale Variablengröße überschreitet. Bei Scilab habe ich einmal gelesen, dass es eine Systemvariable gibt in der dieser Wert festgeschrieben wird, gibt es eine solche Variable oder eine andere Einstellmöglichkeit auch bei Matlab?
|
|
|
|
|
Fragewurm |
Forum-Century
|
|
Beiträge: 180
|
|
|
|
Anmeldedatum: 23.09.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.11.2009, 14:40
Titel:
|
|
Hi
Vielleicht hilfe dir ja
ich weiß allerdings nicht in wie weit sich das auf die maximale Größe
der Matrix auswirkt.
Gruss Fragewurm[/u]
_________________
Fehler jeglicher Art Dienen zur allgemeinen Belustigung
|
|
|
tompie |
Forum-Guru
|
|
Beiträge: 260
|
|
|
|
Anmeldedatum: 19.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: immer alles
|
|
|
|
|
|
Verfasst am: 30.11.2009, 14:44
Titel:
|
|
Hallo,
wenn das so einfach wäre... Die max. mögliche Größe eines Matlab-Arrays ergibt sich aus der Größe des längsten zusammenhängenden Speicherbereiches, den man mit dem Befehl
anzeigen kann (in der Zeile ... Maximum possible array). Ein Array aus double-Zahlen benötigt pro Element 8 Bytes, also kann man sich die max. Elementzahl leicht ausrechnen.
Je länger eine Matlab-Session dauert, desto stärker wird der RAM-Speicher fragmentiert und der max. Speicherbereich immer kleiner. Da hilft auch die pack-Funktion wenig oder gar nichts, das ist eher ein Problem des Betriebssystems.
Man kann aber die Größe dieses zusammenhängenden Speicherbereiches vergrößern, indem man MATLAB z.B. mit der Option -shield medium oder (Achtung! Kann evtl. schiefgehen!) mit -shield maximum startet. Siehe Dokumentation, ich denke ab Release 2009a.
Gruß tompie
|
|
|
Evron |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 51
|
|
|
|
Anmeldedatum: 22.11.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 30.11.2009, 15:48
Titel:
|
|
Hallo,
danke euch beiden für die Hinweise. Sparse ist tatsächlich noch eine Idee, da die Matrix ohnehin bei mir sehr stark mit nullen besetzt sein wird. Ich habe nur gelesen, wenn sie voll besetzt wird, wird es dann unangenehm, da sie dann wesentlich mehr Platz als eine normale Matrix benötigt.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.492
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.11.2009, 16:00
Titel:
|
|
Hallo,
dünnbesetzte Matrizen aus Doubles benötigen pro Nicht-Null-Element größenordnungsmäßig 16 Byte, während vollbesetzte Matrizen aus Doubles 8 Byte pro Element brauchen. Das rührt daher, dass bei den dünnbesetzten Matrizen noch die Position mitgespeichert werden muss.
Die Verwendung dünnbesetzter Matrizen lohnt sich also speichertechnisch, wenn (deutlich) weniger als die Hälfte der Elemente von 0 verschieden sind. Für Berechnungen (Matrix- oder Vektoroperationen) lohnt sich das unter etwa 10-30% von 0 verschiedene Elemente. Im Zweifelsfall experimentieren.
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 - 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.
|
|