使用Matlab输出word文件

Outputting a word file using Matlab

我想编写一个函数,将数字 n 作为输入,然后输出一个制表符分隔的 word 文档,看起来像 5 行:

1 2 3...n n n-1 n-2 ..1

让我告诉你我已经尝试过的:使用我想要的整数很容易创建这样的向量,但是如果我以 ascii 格式保存文件,在输出中整数会以格式如“1.0000000e+00”。 现在我用谷歌搜索发现可以使用 %d 和 fprintf 格式化输出,但是考虑到行长度是输入的一部分,实现它的最有效方法是什么?

如果您指的是普通的 *.txt 类型的文件,我通常会使用带有 fprintf(fileid,'%d things to print',5) 的 for 循环,以及适当的 fopen(.) 语句。您会惊讶于 'w' 和 'a' 的 fopen 的出色表现。试试看,让我们知道!

回复rayryeng:你说的对!下面是使用 fprintf 将矩阵写入文件的代码示例,没有 for 循环。

A=rand(5);
fid=fopen('Rand_mat.txt','w');
fprintf(fid,'%0.4f %0.4f %0.4f %0.4f %0.4f\n',A');
fclose (fid);

其中 A 被转置,因为 MATLAB 首先读取矩阵的列。

谢谢!

可能是这样的:

Nrow = 5;
N = 10;
dlmwrite('my_filename.txt', repmat([1:N, N:-1:1], Nrow, 1), 'delimiter', '\t', 'precision', '%d');