2016-07-25 103 views
2

我有一個單元格數組。我想將單元格的每個元素寫入.csv文件中,並且還特別指定文件的名稱。如何從matlab中的單元格數組中寫入多個.csv文件

這是我的嘗試:

for i=1:length(somecell) 
    doublecell{i}=double(somecell{i}); 
end 

for j=1:length(doublecell) 
    z=doublecell{j}; 
    csvwrite('matrix_%i.csv',z,j) 
end 

我希望什麼,我試圖做的是明確的,即使它是錯的。

回答

1

可以縮短(正確),你的代碼爲:

for i = 1:length(somecell) 
    doubleVal = double(somecell{i}); 
    csvwrite(sprintf('matrix_%i.csv', i), doubleVal); 
end 

您不必雙值存儲在中間單元陣列,因爲當你寫的CSV文件,你就可以生產要素。

有實際上兩個問題與您的代碼:

  • z=doublecell(j)產生細胞作爲索引的單元陣列與括號產生的細胞。您將需要數字值,所以此處大括號索引是正確的:z = doublecell{j}

  • 該行csvwrite('matrix_%i.csv',z,j)不正確。您需要sprintf來創建文件名(請參閱示例)。

+0

第一個子彈是我在這個問題上糾正的一個錯字。謝謝您的幫助。 – garserdt216

相關問題