使用dlmwrite()在Matlab中将数组值写入文件时没有回车符

时间:2017-08-29 18:32:59

标签: matlab carriage-return

我正在尝试使用以下代码将数组值写入MATLAB中的CSV文件

m=[3 12 15 ; 4 23 565];
dlmwrite('C:\Users\amar-admin\Desktop\abc.txt', m)
type C:\Users\amar-admin\Desktop\abc.txt

控制台中打印的输出是

3,12,15
4,23,565

但文件中的输出是

3,12,154,23,565

2 个答案:

答案 0 :(得分:2)

您可能需要将'newline'选项设置为'pc'

dlmwrite('C:\Users\amar-admin\Desktop\abc.txt', m, 'newline', 'pc');

这将确保在每行末尾使用回车符(\r换行符(\n)创建文件,而不是潜在的只是一个换行符,可能会影响它在某些文本查看器中的显示方式。有关\n\r之间差异的详细信息,请参阅this post

答案 1 :(得分:1)

使用.rtf扩展名来解决问题

dlmwrite('C:\Users\amar-admin\Desktop\abc.rtf', m)

但是,我仍然想知道.txt文件是否可行