2016-07-25 133 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

相关问题