我需要以下列格式将多个数组保存到文本文件中:
n = 2%的数组
r =第一阵列中行数的3% 1 2 3%实际数据
4 5 6
7 8 9
r =第二阵列中行数的3% 5 6 7%实际数据
1 2 3
7 8 9
你能帮忙吗
答案 0 :(得分:4)
使用fprintf。如果您的数组存储在单元格数组中,以便您可以遍历它们。
arrays = cell(N, 1); %A cell array of arrays
f = fopen('output.txt', 'w');
fprintf(f, 'n=%i\n', N);
for i=1:N
rows = size(arrays{i}, 1);
fprintf(f, '\nr=%i\n', rows);
for j=1:rows
fprintf(f, '%g ', arrays{i}(N, :));
fprintf(f, '\n');
end
end
fclose(f);
答案 1 :(得分:1)
到目前为止你做了什么?
作为一般规则,对于这类事情,您的朋友是将数据打印到文件的函数fprintf和varargin,它允许您提供可变长度的参数列表一个功能。因此,处理此类任务的函数的良好签名可能是
function [output_args] = pretty_save_to_file(fName, varargin)
此处fName
是您希望保存数据的文件的名称,varargin
是您要保存的矩阵名称的占位符。一旦你填写了函数的血腥细节,你应该能够使用像
pretty_save_to_file('output.txt', A, B, C) % prints matrices A, B, and C to output.txt
此外,由于您要确定每个矩阵中的行数,您可能会发现以下代码片段涉及size函数有用:
[nrows, ncols] = size(A); % Stores the number of rows and columns of A in nrows, ncols
最后,fprintf函数允许您指定矩阵的所需格式。