Filter löschen
Filter löschen

How to write a matrix into a txt file so that all variables in a columns have exactly the same starting character and length?

1 Ansicht (letzte 30 Tage)
I am trying to export a matrix into a text file. The text file will later be feed into another program that requires all variables in a specific columns have the same starting location, and the same length.
How should I achieve this? Which Matlab function should I use to export the data?
Thank you.

Akzeptierte Antwort

Fangjun Jiang
Fangjun Jiang am 21 Apr. 2011
use sprintf formating, such as
a=rand(5,1);
sprintf('%20.2f\n',a(:));
doc sprintf
It also applies to fprintf.
  2 Kommentare
Liqing
Liqing am 21 Apr. 2011
Thank you very much for the suggestion. So for sprintf I will have to write one row at one time?
Walter Roberson
Walter Roberson am 21 Apr. 2011
No, sprintf() and fprintf() will repeat the format as often as needed to write out all the data.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

Liqing
Liqing am 21 Apr. 2011
Now it is working. Thank you very much.
Another question. Now the deliminator is space, so that length of each row is very different. For example, in a column, '45' will have different length as '-45", '26.7', will have different length as '126.8'.
How could I fix this?

Fangjun Jiang
Fangjun Jiang am 25 Apr. 2011
What do you mean? What exact format do you want to achieve? Please read through the document of sprintf formatting. I think it should be able to cover most if not all format.
Is this what you need?
sprintf('%010.2f\n',45,-45,26.7,126.8)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by