Effacer les filtres
Effacer les filtres

How can I write data to a text file using the symbol '/' in the end?

7 vues (au cours des 30 derniers jours)
Paschalis Garouniatis
Paschalis Garouniatis le 31 Oct 2017
Commenté : Walter Roberson le 31 Oct 2017
As the header implies i need to write data from a matrix to a text file and in the end of each line there must be the symbol '/'. Example of the needed output:
1 2 /
1 2 /
1 2 /
I have already written the script and used dlmwrite to create the text file. If it is possible i would like to keep dlmwrite. Any help will be appreciated. Thanks in advance.

Réponse acceptée

per isakson
per isakson le 31 Oct 2017
Modifié(e) : per isakson le 31 Oct 2017
"keep dlmwrite" That's not possible - AFAIK
Doc says: dlmwrite(filename,M) writes numeric data in array M to an ASCII format file.
This is one way
>> sprintf('%1d %1d %1c', 1,2,'/')
ans =
1 2 /
>>
Replace sprintf by fprintf
  2 commentaires
Paschalis Garouniatis
Paschalis Garouniatis le 31 Oct 2017
Thank you for your answer.
Walter Roberson
Walter Roberson le 31 Oct 2017
Using dlmwrite for this is possible, it just isn't worth it.

Connectez-vous pour commenter.

Plus de réponses (1)

Walter Roberson
Walter Roberson le 31 Oct 2017
Modifié(e) : Walter Roberson le 31 Oct 2017
In order to use dlmwrite for this purpose, you will need to convert all of your data to a cell array in which each entry is an individual character, including entries for any separating spaces. Then you need to dlmwrite() specifying '' (the empty string) as the delimiter, and specify the precision parameter:
For example for the above output you would need something like
data = [1, 2; 1, 2; 1, 2];
temp = num2cell( num2str(data, '%d %d /'));
dlmwrite('TheFilename.txt', temp, '', 'Precision', '%s')

Community Treasure Hunt

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

Start Hunting!

Translated by