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

Textfile exportieren

 

Chris79
Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 11.02.08
Wohnort: Braunschweig
Version: 7.5.0 Release 2007b
     Beitrag Verfasst am: 21.05.2008, 15:59     Titel: Textfile exportieren
  Antworten mit Zitat      
Hallo Leute!

Folgendes Problem:

Ich möchte eine Zahlenmatrix (Typ double) in ein Textfile exportieren. Das klappt auch ganz gut:
Code:
[filename, pathname] = uiputfile('*.crv','Speichern unter' ,Matrixname');
datat =[pathname filename];
dlmwrite(datat, Matrix, 'precision',7,'delimiter', ';');


Bis dahin kein Problem! Jetzt kommts:
Das Textfile soll später nicht nur meine Zahlenmatrix (Typ double) enthalten, sondern zusätzlich zu Beginn und am Ende einige Textzeilen, die in einer anderen Matrix (Typ cell) enthalten sind.

Gibt es eine Möglichkeit die Matrixen in einer zusammen zu fassen und dann in ein Textfile zu exportieren, oder während des exportieren die beiden zusammen zu fassen ? So wie ich das bisher versucht habe, kam immer einer Fehlermeldung, dass die Typen der beiden Matrixen unverträglich sind. Es blieb mir immer nur die Möglichkeit die beiden Textdateien dann später ausserhalb von Matlab mit einem Texteditor von Hand zusammen zu fügen Sad

Kennt da jemand eine Intelligentere Lösung ?

Bin für jede Hilfe dankbar!

Beste Grüße, Chris
Private Nachricht senden Benutzer-Profile anzeigen


nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 21.05.2008, 16:14     Titel:
  Antworten mit Zitat      
Hi,

vielleicht hilft Dir
Code:
dlmwrite(filename, M, '-append')

Dann der Reihe nach die Textzeilen am Anfang, die Daten und dann die Textzeilen am Ende schreiben.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Chris79
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 11.02.08
Wohnort: Braunschweig
Version: 7.5.0 Release 2007b
     Beitrag Verfasst am: 22.05.2008, 10:24     Titel:
  Antworten mit Zitat      
Könnte klappen.
Bekomme aber folgende Fehlermeldung:

Zitat:
The input cell array cannot be converted to a matrix.


Wie gesagt, die Matrixen, die jeweils vor und hinter eine Matrix vom Typ double geschrieben werden sollen, sind vom Typ cell.

Ich habe schon versucht, den Typ mit
Zitat:
str2num
umzuwandeln, da bekomme ich aber immer eine leere Matrix.

Gibt es eine Möglchkeit, den Typ der Matrix zu verändern?[/quote]
Private Nachricht senden Benutzer-Profile anzeigen
 
Chris79
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 11.02.08
Wohnort: Braunschweig
Version: 7.5.0 Release 2007b
     Beitrag Verfasst am: 22.05.2008, 10:53     Titel:
  Antworten mit Zitat      
Alternativ ist wäre natürlich auch möglich, die numerische Matrix in eine cell Matrix umzuwandeln.
Das Problem ist, das ich das dann nicht in ein textfile exportieren und die werte mit semikolon trennen kann.
Oder hat da jemand eine Idee?
Private Nachricht senden Benutzer-Profile anzeigen
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.318
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 22.05.2008, 11:06     Titel:
  Antworten mit Zitat      
Schrittweise mit
Code:
machen:
Code:
clear all;
clc;
daten=[1 2 3 4 5;
       2 1 3 1 4;
       6 2 5 2 7;
       NaN 2 3 4 5];
textoben={'1. Zeile oben';
          '2. Zeile oben';
          '3. Zeile oben'};
textunten={'1. Zeile unten';
           '2. Zeile unten';
           '3. Zeile unten'};
[filename, pathname] = uiputfile('*.csv','Speichern unter' ,'daten');
datat =[pathname filename];
fid=fopen(filename,'w+');
fprintf(fid,'%s\n',textoben{:});
fclose(fid);
dlmwrite(datat, daten, '-append', 'precision',7,'delimiter', ';');
fid=fopen(filename,'a');
fprintf(fid,'%s\n',textunten{:});
fclose(fid);

_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Chris79
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 18
Anmeldedatum: 11.02.08
Wohnort: Braunschweig
Version: 7.5.0 Release 2007b
     Beitrag Verfasst am: 22.05.2008, 11:35     Titel:
  Antworten mit Zitat      
Herzlichen Dank jetzt funktionierts wunderbar!
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 - 2024 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.