我想编写一个以数字n作为输入的函数,然后输出一个标签分隔的word文档,看起来像5行:
1 2 3 ... n n n-1 n-2 ..1
让我告诉你我已经尝试了什么:使用我想要的整数创建这样的矢量很容易,但是如果我以ascii格式保存文件,则在输出中整数以类似的格式出现“1.0000000e + 00”。 现在我用google搜索输出可以使用%d和fprintf进行格式化,但是如果行长度是输入的一部分,那么实现它的最有效方法是什么?
答案 0 :(得分:3)
可能是这样的:
Nrow = 5;
N = 10;
dlmwrite('my_filename.txt', repmat([1:N, N:-1:1], Nrow, 1), 'delimiter', '\t', 'precision', '%d');
答案 1 :(得分:1)
如果你的意思是普通的* .txt文件,我通常会使用带有fprintf(fileid,'%d要打印的东西',5)的for循环,并使用相应的fopen(。)语句。你会对'w'和'a'的好工作感到惊讶。试一试,告诉我们!
回应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首先读取矩阵的列。
谢谢!