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