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

私は私がしようとしてることは、それは間違っているにもかかわらず、明らかであるものを願っています。あなたは中間のセル配列に二重の値を格納する必要はありません

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

あなたはCSVファイルを書き込みしているときに要素を生成することができますよう、:として

答えて

1

あなたはあなたのコードを短くする(そして正しい)ことができます。

実際にあなたのコードには二つの問題がありました:カッコでセルアレイのインデックスを作成すると、セルを生産するよう

  • ラインz=doublecell(j)は、セルを生成します。代わりに数値が必要なので、ここで中括弧のインデックスは正しいでしょう:z = doublecell{j}

  • csvwrite('matrix_%i.csv',z,j)が間違っています。ファイル名を作成するにはsprintfが必要です(例を参照)。

+0

最初の箇条書きは、私の質問で修正した私の最後のタイプミスでした。助けてくれてありがとう。 – garserdt216

関連する問題