WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

xls oder txt - Was ist schneller?

 

geoanny
Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.11.2009, 16:50     Titel: xls oder txt - Was ist schneller?
  Antworten mit Zitat      
hallo zusammen,

wie der titel verrät würde ich gerne wissen ob das speichern eines arrays in einer txt datei schneller abläuft als in einer xls?

speichere nämlich messungen in einer while schleife in excel, zur zeit etwa im 7sekunden takt, ab. nach jeder messung wird der wert eine zeile tiefer in meiner xls gespeichert.

ist es zudem möglich eine txt zu ergänzen?

schönen gruß
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 15.11.2009, 00:20     Titel:
  Antworten mit Zitat      
Hallo,

das hängt auch stark von der Schreibmethode ab. Z.B. ist xlswrite im Vergleich zu direkten ActiveX-Befehlen relativ langsam. Ich denke aber, das Schreiben in eine Textdatei dürfte schneller sein. Im Zweifelsfall: ausprobieren.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
geoanny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2009, 10:37     Titel:
  Antworten mit Zitat      
hab es jetzt noch nicht ausprobiert. mir kam aber gerade der gedanke, die dateien nicht in excel zwischen zuspeichern, sondern im workspace.

mit ActiveX meintest du aber nicht workspace, oder?

ich habe noch nie damit gearbeitet. gibt es da ein befehl die dateien fix dort abzuspeichern? ...also im workspace?

danke
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.11.2009, 10:53     Titel:
  Antworten mit Zitat      
Hallo,

innerhalb einer MATLAB-Session werden Daten immer automatisch im Workspace gespeichert.
Wenn Du den Inhalt eines Workspace nach dem Schließen von MATLAB verfügbar halten willst, kannst du ihn mit SAVE abspeichern und später mit LOAD wieder reinholen. Das ist definitiv die schnellste Art, Daten zu speichern und zu laden, allerdings können die Daten dann nur mit MATLAB gelesen werden.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
geoanny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2009, 12:29     Titel:
  Antworten mit Zitat      
das klingt gut.

allerdings verstehe ich nicht, wieso bei mir im workspace nichts mehr angezeigt wird. meine mich zu erinnern, dass das "früher" nicht so war. in einem neuen m-file wenn ich variablen definiere werden diese im workspace geschrieben.

eine idee?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.11.2009, 12:44     Titel:
  Antworten mit Zitat      
Hallo,

das Problem hier ist vielleicht, dass es verschiedene Workspaces gibt: den Base Workspace, der auf der obersten Ebene zur Verfügung steht, sowie für jede Funktion einen eigenen Workspace, in dem Variablen abgelegt sind, die nur mit dieser Funktion zu tun haben... und dann noch den global Workspace, auf den man von überall zugreifen kann (was man aber vermeiden sollte, da es bei größeren Projekten unübersichtlich und schwer nachvollziehbar wird).
Mit SAVE wird lediglich der momentane Workspace gespeichert.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
geoanny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.11.2009, 16:09     Titel:
  Antworten mit Zitat      
hallo harald,

danke erstmal. hat mir einiges klar gemacht.

ich habe jetzt jedoch das problem, dass ich nicht weiß wohin meine files verschwunden sind. wenn ich die matlab hilfe richtig verstanden habe sind workspace dateien immer als *.mat gespeichert, welche ich über LOAD('name') im aktuellen workspace einbinden kann.

als matlab speicherverzeichnis habe ich ganz zu anfang mal einen anderen ordner als den unter C:\Programme\Matlab\... gespeicherten eingerichtet. jetzt ist der speicherort (also nur der für meine *.m files und *.fig) hier: C:\Dokumente und Einstellungen\Messplatz\Eigene Dateien\MATLAB

startdateien usw sind weiterhin im standardverzeichnis. kann mich erinnern, dass ich irgendeine "sache" bestätigen musste als ich das gemacht habe. war da aber noch sehr frisch im umgang mit matlab.

habe ich daher das problem, dass er mir im workspace nichts mehr anzeigt?

(obwohl ich das nicht glaube, da ich neue datei testhalber mit variablen und werten bstückt habe und mir diese im workspace angezeigt werden)


P.S.: mein m-file beinhaltet mehrere funktionen, die sich auf callbacks einer GUI beziehen
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.11.2009, 17:17     Titel:
  Antworten mit Zitat      
Hallo,

das einzige Problem, was ich hier sehe, ist, dass du eine Funktion ausführst. Nach der Ausführung der Funktion ist der Workspace nicht mehr zu sehen, und das ist auch vernünftig so - er wird ja nicht mehr gebraucht.
Um in den Workspace einer Funktion zu sehen, müsstest du den Debugger verwenden: in deiner Funktion einen Haltepunkt setzen (auf den - vor der Zeile klicken, so dass der rote Punkt kommt) und die Funktion dann laufen lassen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
geoanny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2009, 11:54     Titel:
  Antworten mit Zitat      
Das hat mir sehr geholfen Harald. Soweit so gut...

Gibt es auch eine Möglichkeit den Debugger einzusetzen, dass ich mit den Werten im Workspace zB etwas plotte und nach dem Plot der Debugger kurz ausgeschaltet wird und meine While-Schleife dann wieder durchlaufen wird, sodass meinem Plot die neuen Werte hinzugefügt werden (NextPlot: add)

Also irgendeine Möglichkeit um den Debugger zu setzen, deaktivieren, setzen, deakt. usw...

Oder ist der einfach fest?

danke
Private Nachricht senden Benutzer-Profile anzeigen
 
geoanny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2009, 12:49     Titel:
  Antworten mit Zitat      
also ich habe jetzt herausgefunden, dass ich mit "dbcont" im command window bis zum nächsten breakpoint komme. gibt es auch eine möglichkeit dies direkt in mein m-file einzubauen?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.11.2009, 13:39     Titel:
  Antworten mit Zitat      
Hallo,

mir ist die Frage bzw. Problematik nicht ganz klar. Der Debugger wird in der Regel über die Icons im Editor gesteuert. Es ist ja eben der Sinn der Sache, dass man dort interaktiv durch den Code gehen kann.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
geoanny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2009, 15:08     Titel:
  Antworten mit Zitat      
also ich steuere eine messkarte an, die spannungen in einer endlosschleife (while-schleife) ausliest.
um die werte zwischen zu speichern, habe ich diese in einer xls datei gespeichert. das dauert mir aber zu lange (knapp 7 sekunden). dann hole ich mir mit jedem schleifendurchlauf die werte aus der xls um diese zu plotten und somit einen verlauf der spannung (hier speziell maximalspannungen über die zeit (uhrzeit) zu plotten. (über einer längeren zeit)

dies könnte ich über eine txt machen. da der workspace aber sicher noch schneller arbeitet und damit zeitgenauer wäre, will ich das aber so hinbekommen.

und ein problem war halt, dass mir keine werte im workspace angezeigt wurden, was du mir auch erklärt hattest wieso. nur frage ich mich jetzt ob ich mit meinem problem den debugger überhaupt verwenden kann.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.11.2009, 15:17     Titel:
  Antworten mit Zitat      
Hallo,

der Sinn des Debuggers ist die Fehlersuche und nicht die Beschleunigung fehlerfreien Codes.
Ich weiss nicht, wie du Daten von außen direkt in den MATLAB-Workspace reinbringen willst. Das ist allgemein nur dann möglich, wenn es ein direktes Interface zu der anderen Software gibt. Oder wird die Messkarte direkt aus MATLAB heraus angesteuert??
Auf den ersten Blick erscheint mir die TXT die sinnvollste Lösung, weil deutlich effizienter aber nicht wesentlich komplizierter als XLS.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
geoanny
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 29
Anmeldedatum: 13.11.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.11.2009, 15:21     Titel:
  Antworten mit Zitat      
ja, die messkarte wird direkt aus matlab angesteuert.

ich probier es einfach mal mit einer txt. hab da schon was im kopf.

danke nochmal,
schönen gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.499
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.11.2009, 15:22     Titel:
  Antworten mit Zitat      
Wenn die Messkarte direkt aus MATLAB angesteuert wird, vermute ich mal, dass der entsprechende Befehl die Daten zurückgibt? Das wäre natürlich das einfachste.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.