2014-05-14 163 views
-1

我在matlab中有一个循环数据矩阵,我想把它写入同一个excel文件。如果我使用xlswrite('name.xls',M),它会创建一个'name.xls'excel,包含一个矩阵(最后一个循环的值)。我怎样才能在一个文件excel中编写我所有的循环矩阵(可以说它有10列有13列的矩阵),并且excel文件将包含我所有具有13列的矩阵(所以将有10行13列)。请帮忙,谢谢。 -Machmum如何将循环数据矩阵写入同一个excel文件?

+1

什么是您的数据的样子,可你所有的数据合并成一个矩阵? –

回答

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) 
0

虽然这将是更好先创建矩阵,然后将其一气呵成丹写了建议,也可以指定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