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

Anfänger benötigt Hilfe beim Skript erstellen

 

diri3l
Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 25.01.14
Wohnort: ---
Version: R2013a
     Beitrag Verfasst am: 25.01.2014, 21:45     Titel: Anfänger benötigt Hilfe beim Skript erstellen
  Antworten mit Zitat      
Hallo liebe Leute,

ich habe mich gerade frisch hier angemeldet, vor einiger Zeit mit Matlab angefangen habe.

Ich habe bereits einige Tutorials durchgearbeitet aber wirklich Fuß fassen konnte ich in dem Programm leider noch nicht.

Für die Uni muss ich ein Skript schreiben bei dem Labview (.lvm) Dateien eingelesen und bei den Werten die Extrema gesucht werden sollen.

Ich habe nun in einem Ordner rund 200 lvm Dateien, die der Reihe nach ausgelesen und analysiert werden sollen.

Bei den .lvm's handelt es sich um einfache Text-Files:

Zitat:
LabVIEW Measurement
Writer_Version 0.92
Reader_Version 1
Separator Tab
Multi_Headings No
X_Columns One
Time_Pref Absolute
Operator Administrator
Date 2012/07/30
Time 22:08:17,663425
***End_of_Header***

Channels 18
Samples 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000 1000
Date 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30 2012/07/30
Time 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125 22:36:17,03125
Y_Unit_Label Volts Volts Volts Volts Volts Volts Volts Volts Volts Volts Volts Volts Volts Volts Volts Volts Volts Volts
X_Dimension Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time Time
X0 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3 1.6791999999999998E+3
Delta_X 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200 0.000200
***End_of_Header***
X_Value x1 y1 z1 x2 y2 z2 x3 y3 z3 x4 y4 z4 x5 y5 z5 x6 y6 z6 Comment
1679.200000 0.251207 0.251613 0.252181 0.000986 0.000166 -0.002440 0.253853 0.246929 0.258032 0.251770 0.250263 0.251753 0.252539 0.251425 0.250791 0.250508 0.251471 0.251107
1679.200200 0.252122 0.251918 0.251266 0.000986 0.000471 -0.002440 0.253853 0.246319 0.258337 0.252686 0.250568 0.251142 0.251929 0.252951 0.251402 0.250508 0.251777 0.251718
1679.200400 0.252733 0.252528 0.252486 0.000376 0.000166 -0.002745 0.254464 0.247234 0.258032 0.253602 0.252094 0.251448 0.252539 0.254171 0.255980 0.252645 0.252082 0.252328
.
.
.


Ich habe es so versucht:

Code:

fid=fopen('/***.lvm')
C=textscan(fid,'Header lines',25);
fclose(fid)
 


Es kommt zwar keine Fehlermeldung, die Tabelle ist aber leer.

Ich komme irgendwie nicht auf die richtige Syntax :/

Für Hilfe wäre ich sehr dankbar.
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 25.01.2014, 23:47     Titel:
  Antworten mit Zitat      
Hallo,

du musst ein Format angeben, das du einlesen möchtest.

Beispielsweise für jede Spalte %f (Double) oder %s (String), also für 5 Doubles wäre das '%f %f %f %f %f'.

Mehr Informationen dazu und viele Beispiele zu textscan findest du in der Dokumentation unter
Code:


Versuch das ganze erst mal mit einer Datei. Später kannst du eine for-Schleife über alle Dateien machen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 26.01.2014, 15:16 Uhr von denny
Von Script-Ecke nach Programmierung
 
diri3l
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 31
Anmeldedatum: 25.01.14
Wohnort: ---
Version: R2013a
     Beitrag Verfasst am: 26.01.2014, 19:24     Titel:
  Antworten mit Zitat      
Hallo Harald,

danke für deine Hilfe.

Die Seite kenne ich natürlich schon und habe ausgiebig mit den Angaben darauf herumprobiert, bin aber auf keinen grünen Zweig gekommen.

Allerdings wusste ich nicht, dass die header lines, nach dem Dateityp definiert werden müssen.

Ich habe das also jetzt so gemacht:

Code:

fileID=fopen('***.lvm');
C=textscan(fileID,'%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f', 'headerLines',25);
fclose(fileID)
 


Die Tabelle hat mE. 15 Spalten, daher 15 mal
Code:
. Ich kriege jetzt aber einen Array in Matlab mit 15 Spalten und einer Zeile. Aber ich habe ja mehr als nur eine Zeile in der Datei. Was mache ich denn da falsch?

Gruß,
Daniel

Edith: Es klappt doch! War bloß zu blöd zu verstehen, wie Matlab die Tabelle wiedergibt. Wenn ich sie mir ansehe und auf den ersten Eintrag in der Tabelle (1 Spalte, 1. Zeile) Doppelklicke, dann werden erst die Inhalte der kompletten Spalte angezeigt. Es ist also alles eingelesen, es wird nur nicht direkt angezeigt.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.501
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 26.01.2014, 23:25     Titel:
  Antworten mit Zitat      
Hallo,

wenn du nur Double-Daten hast, kannst du die Rückgabe von textscan mit cell2mat in ein Double-Array umwandeln.

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



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.