如何将循环数据矩阵写入相同的excel文件?

时间:2014-05-14 04:45:07

标签: excel matlab export

我在matlab中有一个循环数据矩阵,我想将它写入相同的excel文件中。如果我使用xlswrite(' name.xls',M),它会创建一个名字.xls' excel,包含一个矩阵(最后一个循环的值)。如何在一个文件excel中编写我的所有循环矩阵(假设它有10个矩阵,包含13列),excel文件将包含我的13个列的矩阵(所以那里有10行,13列)。请帮忙,谢谢。 -Machmum

2 个答案:

答案 0 :(得分:1)

在每个循环迭代中,将最新的向量添加到单个矩阵中。然后,只有在循环之后,将此矩阵写入.xls文件:

M = zeros(10,13);  %// Pre-allocation like this is essential for speed
for k = 1:10
    ... %Your code
    M(k,:) = ... %//Put your new 1-by-13 vector that you create each iteration here
end

xlswrite(file_name, M)

答案 1 :(得分:0)

虽然最好先创建矩阵,然后像Dan建议的那样一次性写入,但可以指定xlswrite开始写入的位置,这样就可以将数据附加到现有文件中。如果仅指定起始位置,则还必须为xlswrite提供工作表名称。这比预先计算矩阵慢,然后只调用xlswrite一次。

简单示例:

M = 1:10;

for n = 1:10

    t = sprintf('A%d',n); % starting cell A1 through A10
    xlswrite('testdata.xls',M*n,'Sheet1',t);  % writes one row 

end