Effacer les filtres
Effacer les filtres

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 vue (au cours des 30 derniers jours)
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.

Réponse acceptée

Fangjun Jiang
Fangjun Jiang le 21 Avr 2011
use sprintf formating, such as
a=rand(5,1);
sprintf('%20.2f\n',a(:));
doc sprintf
It also applies to fprintf.
  2 commentaires
Liqing
Liqing le 21 Avr 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 le 21 Avr 2011
No, sprintf() and fprintf() will repeat the format as often as needed to write out all the data.

Connectez-vous pour commenter.

Plus de réponses (2)

Liqing
Liqing le 21 Avr 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 le 25 Avr 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)

Catégories

En savoir plus sur Text Data Preparation dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by