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

Spalten in txt-file erzeugen

 

pfeili
Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 12.01.2012, 15:37     Titel: Spalten in txt-file erzeugen
  Antworten mit Zitat      
Liebe Leute,

mit folgendem Code erzeuge ich ein txt-file und speichere meine Vektoren ab:

Code:

fid = fopen('C:\\Programme\test.txt', 'w')
fprintf(fid, '%1.4f\r\n', VS)
fprintf(fid, '%.3f\r\n', p_S)
fprintf(fid, '%.3f\r\n', p_D)
fclose(fid)
 


Wie muss ich das noch formatieren, damit ich für jede Variable eine Spalte erhalte und dass alle drei Spalten neben- und nicht untereinander stehen?

Beste Grüße

pfeili
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 12.01.2012, 15:43     Titel:
  Antworten mit Zitat      
Hallo,

Probiers mal so:

Code:
fid = fopen('C:\Programme\test.txt', 'w')
fprintf(fid, '%1.4f \t  %.3f \t %.3f \n', VS, p_S, p_D)
fclose(fid)


Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
pfeili
Themenstarter

Forum-Century

Forum-Century


Beiträge: 177
Anmeldedatum: 27.08.08
Wohnort: ---
Version: R2019b
     Beitrag Verfasst am: 03.02.2012, 14:08     Titel:
  Antworten mit Zitat      
Hallo Harald,

sorry, dass ich mich nochmal melde. Ich habe deinen Vorschlag gerade erst ausprobiert und er funktioniert noch nicht so, wie ich es gern hätte.

Die Ausgabe erfolgt jetzt so, dass er zuerst jedes Element des Vektors VS schreibt und zwar zeilenweise. Dann p_S und dann p_D. So sieht es also schematisch aus:

Zitat:

VS(1) VS(2) VS(3)
VS(4) VS(5) VS(6)
VS(7) VS(Cool VS(9)
VS(10) p_S(1) p_S(2)
p_S(3) ...


Wie bekomme ich nun aber hin, dass er mir in die erste Spalte alle 10 Elemente von VS, in die zweite nach Tabulatoreinrückung alle 10 Elemente von p_S und in die dritte nach erneuter Tabulatoreinrückung alle 10 Elemente von p_D?

Ich habe trotz Herumprobieren noch keine funktionierende Lösung gefunden. Wichtig ist bei mir noch, dass ich für eine neue Zeile

Code:


schreiben muss, da ein einfaches
Code:
nur ein Rechteck und keine neue Zeile erzeugt. (liegt vielleicht am Matlab R2007a)

Beste Grüße

pfeili
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.502
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 03.02.2012, 16:20     Titel:
  Antworten mit Zitat      
Hallo,

Code:
VS = (1:10)';
p_S = (11:20)';
p_D = (21:30)';

fid = fopen('C:\work\test1234.txt', 'w');
fprintf(fid, '%1.4f \t  %.3f \t %.3f \n', [VS, p_S, p_D]');
fclose(fid);


Das Problem mit \r\n dürfte am verwendeten Text-Editor liegen. Ein Zitat aus der aktuellen Doku von FPRINTF:
Zitat:
MATLAB import functions, all UNIX applications, and Microsoft Word and WordPad recognize '\n' as a newline indicator. However, if you plan to read the file with Microsoft Notepad, use '\r\n' to move to a new line when writing.

Die Lösung hattest du aber ja schon gefunden.

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.