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

Labview file in Matlab auslesen

 

TKTW
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 21.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.03.2011, 16:13     Titel: Labview file in Matlab auslesen
  Antworten mit Zitat      
Hallo,

ich versuche schon seit geraumer Zeit eine .lvm Datei in Matlab einzulesen. habe es schon mit textread und mit lvm_import probiert jedoch gibt er mir jedes mal eine Fehlermeldung.

Ich möchte aus der lvm die Datenmatrix auslesen. Header kann weg.
Die lvm hängte ich als Datei mit an!

Ich hoffe mir kann jemand helfen diese Matrix zu separieren

Viele Grüße und vielen Dank im voraus


[/code]

test_lvm.doc
 Beschreibung:

Download
 Dateiname:  test_lvm.doc
 Dateigröße:  31 KB
 Heruntergeladen:  585 mal
Private Nachricht senden Benutzer-Profile anzeigen


Sco
Forum-Meister

Forum-Meister


Beiträge: 699
Anmeldedatum: 15.08.10
Wohnort: Dundee
Version: 2008a, 2010a
     Beitrag Verfasst am: 21.03.2011, 18:02     Titel:
  Antworten mit Zitat      
Hallo,

am Besten ist es wenn du deinen Code und die Fehlermeldung postest.
Aber dies fuer das naechste mal, versuch es einmal folgendermassen:
Code:

[data] = textread('test_lvm.doc', '%s','headerlines',24,'bufsize',5000); % Zahlen Einlesen als string
data = strrep(data,',','.'); % ersetze Komma durch Punkt
num = regexp(data,'(-)?\d+(.\d+)?','match'); % suche Zahlen
num = [num{:}];
num = reshape(num,7,[])'; % 7 ist die Anzahl deiner Spalten im Word File
mat = str2double(num); % Cell in Matrix umwandeln
 


Falls Probleme bestehen bleiben, dann frag nach.

MFG

Sco
Private Nachricht senden Benutzer-Profile anzeigen
 
TKTW
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 21.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.03.2011, 19:18     Titel:
  Antworten mit Zitat      
vielen dank für die schnelle Antwort!

bei mir kam immer der Fehler

error in column 7

bzw.

error in line 1..

aber jetzt ließt er es ohne Probleme ein!

Ich glaube es lag an der wandlung von . und , !
Private Nachricht senden Benutzer-Profile anzeigen
 
TKTW
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 21.03.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.04.2011, 13:00     Titel:
  Antworten mit Zitat      
Halo an alle,

ich habe nun ein weiteres Problem mit der oben beschriebenen geschichte...
Das Auslesen der Daten funktioniert bei einer Datei super, nun möchte ich aber mehrere Files gleichzeitig auslesen. Der Code sieht wie folgt aus:


Code:


[Filename,Pathname] = uigetfile('.lvm','MultiSelect','on');
cd(Pathname)

flag = whos('Filename','class');

switch flag.class
   
case 'char'
       
ind = 1;
   
case 'cell'
       
ind = size(Filename,2);

end

for k = 1:ind
   
if ind == 1

fid = fopen(Filename,'r');

else
       
fid = fopen(Filename{k}, 'r');

end
   
i=1;

[data] = textread(Filename, '%s','headerlines',22,'bufsize',5000);
 
data = strrep(data,',','.');
 
num = regexp(data,'(-)?\d+(.\d+)?','match');
 
num = [num{:}];    

num = reshape(num,11,[])';

mat = str2double(num);

    [MaxBesch1m , TmaxBesch1m] = max(mat(:,2))    
    MaxBesch1 (:,k) = MaxBesch1m    
    TmaxBesch1 (:,k) = (TmaxBesch1m-1)/1000
   
    [MaxBeschm2, TmaxBeschm2] = max(mat(:,3))    
    MaxBesch2 (:,k) = MaxBeschm2    
    TmaxBesch2 (:,k) = (TmaxBeschm2-1)/1000
   
    [MaxBesch3m, TmaxBesch3m] = max(mat(:,4))    
    MaxBesch3 (:,k) = MaxBesch3m    
    TmaxBesch3 (:,k) = (TmaxBesch3m-1)/1000
   
    [MaxFz1m, TmaxFz1m ]    = max(mat(:,5))    
    MaxFz (:,k) = MaxFz1m    
    TmaxFz (:,k) = (TmaxFz1m-1)/1000
   
    [MaxFy14m, TmaxFy14m   ] = max(mat(:,6))    
    MaxFy (:,k) = MaxFy14m    
    TmaxFy (:,k) = (TmaxFy14m-1)/1000
   
    [MaxFx12m, TmaxFx12m   ]  = min(mat(:,7))    
    MaxFx (:,k) = MaxFx12m    
    TmaxFx (:,k) =( TmaxFx12m -1)/1000
   
    fclose(fid)

end

 


Das Problem ist bei mehreren Dateien kommt folgender Fehlercode den ich nicht zuordnen kann:

??? Undefined function or method 'exist' for input arguments of type 'cell'.

Error in ==> textread>noargname at 192
arg = f(arg);

Error in ==> textread at 159
if (noargname(@exist,varargin{1}) ~= 2 || noargname(@exist,fullfile(cd,varargin{1})) ~= 2) ...

Error in ==> Falltest_auslesen at 42
[data] = textread(Filename, '%s','headerlines',22,'bufsize',5000); % Zahlen Einlesen als string

bedeutet er liest bei mehreren Files die Daten nicht mehr als string ein oder erkennt diese nicht als solche!?


Vielen Dank für eure Hilfe
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.