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

Matrix als textdatei speichern,Spaltenbeschriftung dynamisch

 

swizz-john
Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 28.04.13
Wohnort: ---
Version: MatlabR2013b
     Beitrag Verfasst am: 08.10.2015, 15:48     Titel: Matrix als textdatei speichern,Spaltenbeschriftung dynamisch
  Antworten mit Zitat      
Hi Leute,

ich wuerde gerne meine generierten Daten als Textdatei exportieren. Die Anzahl der Spalten N variiert hierbei von dem simulierten Modell. Der folgende Code funktioniert und stellt das gewuenschte Verhalten der Spalten 2 bis N super dar.
In der ersten Spalte wuerde ich aber gerne eine andere Ueberschrift waehlen!!

Wie kann ich das machen? Ich bekomme das mit der dynamisch generierten Spaltenanzahl nicht ueberein.

Code:
Bus_indizes=[1,3,5,7]

A = [ 4 45 345 34;
     34 88 455 73;
     34 88 455 73];

% Number of columns

    N = 4;

% Create/open file discarding content

    fid = fopen('test.txt','w');

% Write header

    fmt = sprintf('Bus%d\t',Bus_indizes);
    fprintf(fid,[fmt(1:end-1) '\r\n']);

% Write data

    fmt = repmat('%.f\t',1,N);
    fprintf(fid, [fmt(1:end-2) '\r\n'],A');

    fclose(fid);


Vielen Dank fuer eure Hilfe!

Schoenen Gruss, swizz-john
Private Nachricht senden Benutzer-Profile anzeigen


Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 08.10.2015, 15:52     Titel:
  Antworten mit Zitat      
Zitat:
In der ersten Spalte wuerde ich aber gerne eine andere Ueberschrift waehlen!!

das ist mir noch nicht ganz klar. kannst du das genauer beschrieben? was hast du denn versucht und wie weicht das ergebniss vom gewünschten ab?
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
swizz-john
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 28.04.13
Wohnort: ---
Version: MatlabR2013b
     Beitrag Verfasst am: 08.10.2015, 16:20     Titel:
  Antworten mit Zitat      
Hi Winkow,

ich haette gerne das Resulat wie im Anhang in der textdatei zu sehen ist. Also eine zusaetzliche spalte mit einer ueberschrift und mit daten.
Die daten kann ich ja einfach in die Matrix mit hineinpacken, aber wie bekomme ich fuer diese spalte dann eine separate ueberschrift?

Ich weiss halt nicht wie ich das hinbekomme, nur die erste spaltenueberschrift zu aendern bzw. eine komplette spalte mit daten hinzuzufuegen, sodass es passt.
Folgender Code liefert nichts sinnvolles.

Code:
fmt = sprintf(['Time' ,'Bus%d\t'],[' ',Bus_indizes]);


Vielleicht kann man erst separat die erste Spalte speichern und dann erst die anderen hinzufuegen? ich weiss halt aber nicht, wie man das dann hinbekommt, dass die erste spalte nicht ueberschrieben wird...

Ich hoffe es ist klar geworden, was gemeint ist:)

Gruss, swizz-john

test.txt
 Beschreibung:

Download
 Dateiname:  test.txt
 Dateigröße:  73 Bytes
 Heruntergeladen:  319 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 08.10.2015, 16:25     Titel:
  Antworten mit Zitat      
meinst du so ?
Code:
Bus_indizes=[1,3,5,7]

A = [ 4 45 345 34;
     34 88 455 73;
     34 88 455 73];

% Number of columns

    N = 4;

% Create/open file discarding content

    fid = fopen('test.txt','w');

% Write header

    fmt = sprintf('Bus%d\t',Bus_indizes);
    fprintf(fid,['Time\t',fmt(1:end-1) '\r\n']);

% Write data

    fmt = repmat('%.f\t',1,N);
    fprintf(fid, ['%.i\t' fmt(1:end-2) '\r\n'],[[1:size(A,1)]',A]');

    fclose(fid);

_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
swizz-john
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 28.04.13
Wohnort: ---
Version: MatlabR2013b
     Beitrag Verfasst am: 08.10.2015, 16:55     Titel:
  Antworten mit Zitat      
Hi,

Danke fuer die schnelle Rueckmeldung!
ich verstehe leider nicht genau was du gemacht hast! Sad
Der Code liefert eine Kombination der Spaltenueberschriften Time und Bus etc.
Mein Ziel ist es jedoch diese Textdatei zu erhalten, wie oben bereits angehaengt.


Time Bus1 Bus3 Bus5 Bus7
1 4 45 345 34
2 34 88 455 73
3 34 88 455 73

MfG swizz-john
Private Nachricht senden Benutzer-Profile anzeigen
 
Winkow
Moderator

Moderator



Beiträge: 3.842
Anmeldedatum: 04.11.11
Wohnort: Dresden
Version: R2014a 2015a
     Beitrag Verfasst am: 08.10.2015, 17:00     Titel:
  Antworten mit Zitat      
bei mir bekomme ich das gewünschte ergebniss. warum du auf was anderes kommst kann ich nicht sagen. vielleicht liegt es an der 2013b version ich habs mit 2015a und 2014a versucht da gehts. ältere versionen stehen mir nicht zur verfügung
_________________

richtig Fragen
Private Nachricht senden Benutzer-Profile anzeigen
 
swizz-john
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 28.04.13
Wohnort: ---
Version: MatlabR2013b
     Beitrag Verfasst am: 09.10.2015, 09:13     Titel:
  Antworten mit Zitat      
Hi Winkow,

sry fuer die Verwirrung! Vielen lieben Dank!! Passt wunderbar und liefert das gewuenschte Ergebnis... Ich bin im Speicherort verrutscht und habe den alten File nicht mit deinem generierten File ueberschrieben.

Besten Dank:)
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.