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

Problem bei xlswrite

 

Krys
Forum-Anfänger

Forum-Anfänger



Beiträge: 33
Anmeldedatum: 05.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2016, 13:34     Titel: Problem bei xlswrite
  Antworten mit Zitat      
Hallo liebe MATLAB-Freunde Wink

ich bin dabei ein Auswerteskript zu schreiben und habe hoffentlich nur ein "kleines" Problem beim Exportieren nach Excel.

Ganz kurz der Plan der ganzen Sache.....

Ich bin dabei unterschiedliche Messdaten an einem Motorenprüfstand zu sammeln. Gerade schreibe ich das Skript für die Auswertung der gemessenen Drücke und Temperaturen. Die Messwerte werden von DasyLab aufgezeichnet und als Textdatei abgespeichert. In der ersten Zeile befinden sich die Bezeichnungen der Messstellen. Es sind 29 Stück. In den Zeilen darunter befinden sich die Messwerte. Eigentlich ganz simple.
Diese Textdatei möchte ich nun in MATLAB einlesen und am Schluss eine Tabelle in Excel erstellen.

An sich funktioniert alles prima. Die Matrix die ich mir in MATLAB erstelle, sieht auch so aus wie ich es möchte. Wenn ich diese mit xlswrite exportiere, fehlt in der Exceldatei die erste Zeile mit den Überschriften.

Ich zeige euch einfach mal das Skript und die Matrix.
Und nicht über die eigenartigen Werte wundern. Habe sie mir lediglich generiert.

Code:

[filename,pathname] = uigetfile('*.txt','Dasylab auswählen','Multiselect','on');

datei = fileread(filename);       % Datei einlesen

newdat = strrep(datei,',','.');    % Komma durch punkt ersetzen

fid = fopen(filename ,'w');         % Datei zum Schreiben öffnen

fprintf(fid,'%s',newdat);


dasy_daten=[];



strLoad='';                     % Schleife für Anzahl der Strings %s
AnzSpalten=30;
for i=1:1:AnzSpalten
    strLoad=[strLoad,'%s'];
end


fid = fopen([pathname,filename] ,'r');  

dasy_label = textscan (fid,strLoad,1,'Delimiter',';','Headerlines',6);


dasy_daten_cell = textscan (fid,'%s%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','Delimiter',';','TreatAsEmpty',{'**'},'Headerlines',1);


%Ersetzen von Cell in Cell
dasy_daten=[dasy_daten, cellstr(dasy_daten_cell{1,1})];
   for i=2:30
            dasy_daten=[dasy_daten, num2cell(dasy_daten_cell{1,i})];
   end

   
%Ersetzen von Cell in Cell (Messzeit)
dasy_daten_zeit = cellstr(dasy_daten_cell{1,1});

   
   
dasy_daten (:,1) = [];
daten_rechnung = cell2mat (dasy_daten);
daten_excel = num2cell(daten_rechnung);    


dasy_matrix = ([dasy_label; dasy_daten_zeit, dasy_daten]);


xlswrite('Messwerte',dasy_matrix,1,'A1');

fclose(fid);



 



Ich hoffe, dass ich alles ausreichend erklärt habe. Wenn man tief in einer Thematik steckt, beschreibt man die Dinge meistens so, als würde man mit Leuten sprechen, die ebenso tief in der Thematik stecken Razz
Das ist mir hier im Forum schon häufiger aufgefallen.

P.S.
Habe hier nach einem ähnlichen Problem gesucht aber leider nicht gefunden Sad

P.P.S.
Da ich das erste mal mit MATLAB arbeite und dementsprechend kein Profi bin, könnte das Skript vielleicht an einige Stellen nicht so "hübsch" aussehen Wink

Dasy_Matrix.png
 Beschreibung:

Download
 Dateiname:  Dasy_Matrix.png
 Dateigröße:  792.29 KB
 Heruntergeladen:  355 mal
Dasy_Excel.png
 Beschreibung:

Download
 Dateiname:  Dasy_Excel.png
 Dateigröße:  747.62 KB
 Heruntergeladen:  331 mal
Private Nachricht senden Benutzer-Profile anzeigen


Mmmartina
Forum-Meister

Forum-Meister


Beiträge: 745
Anmeldedatum: 30.10.12
Wohnort: hier
Version: R2020a
     Beitrag Verfasst am: 03.02.2016, 15:03     Titel:
  Antworten mit Zitat      
Setze dir doch mal Breakpoints und schaue, was genau in dasy_label drinn steht.
Ich vermute, dass dies leer ist. Denn um die 1.Zeile inzulesen, darfst du diese nicht mittels "Headlines sind 6 Zeilen" ausschließen.
_________________

LG
Martina

"Wenn wir bedenken, daß wir alle verrückt sind, ist das Leben erklärt." (Mark Twain))
Private Nachricht senden Benutzer-Profile anzeigen
 
Krys
Themenstarter

Forum-Anfänger

Forum-Anfänger



Beiträge: 33
Anmeldedatum: 05.10.15
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 03.02.2016, 16:06     Titel:
  Antworten mit Zitat      
Vielen Dank für deine Antwort Smile

Mittlerweile habe ich über den Überschriften noch weitere Zeilen, die Text enthalten. Dadurch entfällt der Befehl die ersten 6 Zeilen auszuschließen.

Code:

Messung_Info_cell = textscan (fid,'%s',6,'Delimiter',';');

dasy_label = textscan (fid,strLoad,1,'Delimiter',';');
 


In der Matrix selbst habe ich dazwischen noch ein leere Zeile eingefügt, was jetzt in dem Code nicht zu sehen ist.

dasy_label ist nicht leer, wenn ich es mir anschaue.

In der Excel-Tabelle befinden sich zwischen den Messinformationen (Datum,Schaltbildsame usw.) und den Messwerte zwei leere Zeilen. Die eine ist wie oben schon gesagt gewollt und die andere ist für dasy_label vorgesehen.

Mit den Messinformationen hatte ich zuerst auch Probleme allerdings habe ich den Befehl an eine andere Stelle gelegt. Das hat das Problem behoben. Mit das_label habe ich das auch versucht. Hat leider nicht geholfen.

Stehe total aufm Schlauch.

Liebe Grüße
Chris

Excel.png
 Beschreibung:

Download
 Dateiname:  Excel.png
 Dateigröße:  524.59 KB
 Heruntergeladen:  323 mal
dasy_label.png
 Beschreibung:

Download
 Dateiname:  dasy_label.png
 Dateigröße:  37.04 KB
 Heruntergeladen:  303 mal
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.