Filter löschen
Filter löschen

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

7 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

per isakson
per isakson am 31 Okt. 2017
Bearbeitet: per isakson am 31 Okt. 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

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 31 Okt. 2017
Bearbeitet: Walter Roberson am 31 Okt. 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