Nun habe ich das Script vor ein paar Stunden ausgeführt und der Rechner ist immer noch nicht fertig.
1. Wisst ist ihr ob es überhaupt so möglich ist?
2. Gibt es einen Weg mit dem es schneller geht?
... und...
3. Ich habe zuvor mal den Import-Wizard von MATLAB getestet. Damit erhielt ich aber nur Fehlermeldungen bezüglich Arbeitsspeicher wäre ausgelastet. Wieso tritt das Problem hierbei (bisher) nicht auf?
achso, der Import-Wizard checkt das quasi vorher schon einmal ab, okay.
Wobei mich wundert, dass die RAM Auslastung von MATLAB nicht zunimmt, während beim Import-Wizard sofort der Speicher voll ist.
Dies ist ein ernstes Problem. Die Vektoren wachsen in jeder Iteration an und dazu muss jedes Mal ein neuer Vektor alloziert werden und der allte kopiert. Das ist aber sehr zeitraubend. In den ersten 1000 Zeilen werden also insgesamt SUM(1:1000) * 8 Byte pro DOUBLE * 2 Vektoren Bytes von Betriebssystem angefordert und kopiert.
Ohne pre-allocation hat Dein Programm deshalb ein exponentielles Laufzeitverhalten. Im Endeffekt bedeutet das "ewig".
Nebenbei könnte man so viele Punkte auch gar nicht per PLOT lesbar darstellen: Die Anzahl der Screen-Pixels liegt deutlich darunter.
Beim Import-Wizard ist der Speicher nicht sofort voll, er erkennt nur, dass er voll sein wird.
Tutorial.
1. Daten wie im letzten Post in Datei test_forum_204.txt geschrieben
2. File -> Import Data - > test_forum_204.txt auswählen
3. GANZ WICHTIG. GENERATE MATLAB-CODE UNTEN RECHTS AUSWÄHLEN
4. Alle Defaults übernehmen (next, finsih)
5. Code für dieses Datenformat ist fertig. Ggf. von importfile umbenennen.
und vielen Dank für die Hilfe!
Jetzt habe ich folgendes Problem, ich habe die generierte importfile-Funktion in der Datei importfile.m und eine Datei test.m die mittels importfile('log1.txt') aufruft. Ich bekomme leider folgende Fehlermeldung, weiss jemand wieso?
Da die Sache mit importfile letztendlich nicht richtig funktioniert hat, habe ich mein bisheriges Script erweitert. Ich gehe die Datei schrittweise durch. Dies funktioniert soweit sehr gut. Nun möchte ich die Diagramme gerne als Figure (*.FIG) speichern. Leider tritt beim Öffnen der Figures dann folgende Fehlermeldung auf:
Error using ==> open at 162
There is no 'WindowStyle' property in the 'lineseries' class.
Diese Fehlermeldung ist weder intuitiv für mich, nich kommt sie in irgendwelchen MathWorks Datenbankeinträgen vor. Hier bitte ich den Technischen Support zu kontaktieren.
Jetzt ist nur noch das Problem das sich die Fenster zig Mal öffnen, anstatt nur ein Mal wie zuvor. Gibt es eine Möglichkeit das Fenster gleich wieder zu schliessen? close(handle) funktioniert nicht so wie gehofft.
Edit:
Hab es, super. Danke!!!!!!!
Hatte das close() an der falschen Stelle.
mobman
Zuletzt bearbeitet von Mobman am 04.08.2011, 13:41, insgesamt einmal bearbeitet
Sehr gut!!
Sagt mal, kennt ihr eine gute split-Funktion. Es gibt nämlich eine neue Anforderung. Die aktuelle Zeile soll nach Delimiter ';' aufgesplittet werden, trotzdem soll JEDES Element - selbst wenn es leer sein sollte - gespeichert werden. Beispiel:
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
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.