Azzera filtri
Azzera filtri

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

7 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

per isakson
per isakson il 31 Ott 2017
Modificato: per isakson il 31 Ott 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

Più risposte (1)

Walter Roberson
Walter Roberson il 31 Ott 2017
Modificato: Walter Roberson il 31 Ott 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