|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.01.2011, 15:15
Titel:
|
 |
Hey ich sehe da irgendwie nicht richtig durch wie ich das machen muss.
Wie kann ich das denn machen? Mit
[/code]
userview = memory
??? Attempt to execute SCRIPT memory as a function:
....meinskript.m
[code]
kommt das.
du meinst sicherlich was anderes oder ?
Grüße
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.01.2011, 15:34
Titel:
|
 |
Hallo,
da liegt die Vermutung nahe, dass du eine ältere MATLAB-Version benutzt. Wie memory bei dir funktioniert, zeigt dir
Ich bekomme einen Output folgender Art:
>> memory
Maximum possible array: ...
Memory available for all arrays: ...
Memory used by MATLAB: ...
Physical Memory (RAM): ...
* Limited by System Memory (physical + swap file) available.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.01.2011, 15:54
Titel:
|
 |
Hey, ich habe gerade rausgefunden wo der Fehler liegt.
Das Problem ist das eine meiner Matrizen zu groß wird.
Es sollte eigentlich eine 5400x120x100 Matrix werden. Wird aber aber nur eine 5400x120x50 Matrix und bricht dann an der Stelle ab und sagt out of memory. Da die Matrix also nicht vollständig ist, muss der fehler da liegen.
Aber das Problem ist das ich mein gesamtes Programm auf diese 3-dimensionale Matrix ausgerichtet habe und nicht weiß was ich da ändern könnte.
Hast du ne Idee ?
grüße
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.01.2011, 16:09
Titel:
|
 |
|
 |
|
Hallo,
die Matrix benötigt etwas über 500 MB, was an sich nicht sooo viel ist (wenn sonst keine großen Variablen erzeugt werden).
Möglichkeiten:
--> mehr Speicher kaufen
--> Datentyp single verwenden (=> halber Speicherplatz, aber auch halbe Genauigkeit)
--> Wenn nicht beide Teile der Matrix gleichzeitig gebraucht werden, erst den einen Teil und dann den anderen generieren. Wie ich vorhin schon mal gesagt habe, wirst du ja wohl nicht Endresultate haben, die nicht in deinen Speicher passen.
--> Wenn es die Anwendung erlaubt, mit einer gröberen Auflösung arbeiten. Oft stellen solche Matrizen ja eine Art Gitter dar, und vielleicht kann man ja mit 540 statt 5400 Gitterpunkten leben? Das musst du aber in Bezug auf deine Anwendung entscheiden.
In jedem Fall liegt die Beschränkung hier bei deinem Hauptspeicher und nicht bei MATLAB. Ich habe gerade einen neuen Rechner bekommen und kann dort auch 8 mal so große Matrizen erzeugen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.01.2011, 17:57
Titel:
|
 |
Hey,
danke für deine antwort.
Aber der PC hier hat 2 GB Speicher. Das müsste doch eigentlich ausreichen, oder ?
aber ich denke das Problem liegt darin, dass ich nohc 2 weitere große Matrizen habe. Einmal eine 5400X2X100 und eine 5400X30X100.
dann komme ich schon auf 1,5 GB. Und dann habe ich ja auch noch kleinere Arrays und Matrizen etc...
Dann könnten 2 GB zu wenig sein.
villeicht müsste ich dann die eine Matrix erstellen, dann wenn ich sie nicht mehr brauche muss sie gelöscht werden und anschließend können die anderen erzeugt werden.
Aber das wird sehr aufwendig werden denke ich, meinen code dermaßen umzuschreiben.
Grüße
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.01.2011, 18:24
Titel:
|
 |
Hallo,
du kannst ja nicht davon ausgehen, dass die 2 GB komplett für MATLAB zur Verfügung stehen. Und MATLAB an sich belegt auch Platz im Speicher. Du kannst höchstens versuchen, sämtliche nicht benötigten Anwendungen zu schließen.
Ich habe zuhause auch nur 2 GB, und bei mir passen die drei von dir genannten Variablen in den Speicher. Allerdings kann ich deinen Rechner nunmal nicht sehen.
Ansonsten wird Dir wohl nichts anderes übrig bleiben, als eine der von mir genannten Strategien umzusetzen.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.01.2011, 18:28
Titel:
|
 |
Hey,
naja eigentlich kann ich keine der 4 genannten Optionen verwenden.
deswegen wird mir ggf. nichts anderes übrig bleiben als es auf einem leistungsstärkeren Rechner zu versuchen.
Danke dir trotzdem
Grüße
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 27.01.2011, 19:30
Titel:
|
 |
Es gibt da ja sone funktion das man in matlab mehr speicher frei geben kann. Bis 3 GB. aber macht diese Option überhaupt Sinn wenn ich nur 2048 mb Arbeitsspeicher habe ?
Grüße
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.499
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 27.01.2011, 21:52
Titel:
|
 |
Hallo,
[quote]sone funktion/
Zitat: |
Meinst du pack? pack kann nur den Arbeitsspeicher konsolidieren, d.h. Sachen im Speicher so verschieben, dass mehr zusammenhängender Speicher frei wird. Du kannst es gerne mal versuchen, vielleicht hilfts ja.
Mehr Speicher als du hast kann dir auch pack kaum verschaffen.
Versuch doch mal folgendes:
Wenn diese drei Zeilen laufen und ansonsten keine großen Variablen angelegt werden, scheint noch etwas anderes in deinem Code schiefzugehen. Was das ist, kann ich dir aber nicht sagen, ohne den Code zu sehen.
Variablen in dieser Größenordnung sollten allerdings aus Performance-Gründen in jedem Fall vorbelegt werden. Da du weißt, wie groß die Variablen am Ende sein sollen, kann das ja nicht schwer sein.
Grüße,
Harald |
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
Platin |
Themenstarter

Forum-Century
|
 |
Beiträge: 174
|
 |
|
 |
Anmeldedatum: 07.06.10
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 28.01.2011, 13:29
Titel:
|
 |
Hey Harald,
Ich meinte ne Einstellung im windows. da kann man einfach mehr speicher frei geben. Bis zu 3 GB.
Grüße
|
|
|
|
Gehe zu Seite Zurück 1, 2
|
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.
|
|