如何在matlab

时间:2016-07-25 04:34:14

标签: matlab csv cell-array

我有一个单元格数组。我想将单元格的每个元素写入.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 个答案:

答案 0 :(得分: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来创建文件名(请参阅示例)。