2014-05-14 104 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