cell配列のをcsvで保存する方法

62 Ansichten (letzte 30 Tage)
qrqr
qrqr am 5 Mär. 2019
Kommentiert: Shunichi Kusano am 5 Mär. 2019
cell配列のをcsvで保存する方法について質問です。
以下のcell 配列があります。
%cell配列を作る
for i = 1:3
TEST{1,i} = strcat('test',num2str(i));
end
for i = 1:3
TEST{2,i} = strcat('set',num2str(i));
end
A = [1:100];
B = A*10;
C = A*0.1;
TEST{3,1} = A;
TEST{3,2} = B;
TEST{3,1} = C;
%下の様なcell配列になります
% 'test1' 'test2' 'test3'
% 'set1' 'set2' 'set3'
% 1×100 do.. 1×100 do.. 1×100 do..
この変数[TEST]をcsvで保存したいのですがどのような方法がありますか?
csvwrite('csvlist.csv',cell2mat(TEST(3,1)))
上のだと[1:100]の配列しか書き込めないので思うようにいきません。
csvの結果は下のようにしたいです。
test1,test2,test3
set1,set2,set3
1,10,0.1
2,20,0.2
3,30,0.3 …
宜しくお願いします。

Akzeptierte Antwort

Shunichi Kusano
Shunichi Kusano am 5 Mär. 2019
3行目の数値配列をばらしてもいいですか?tableにしてwritetableを使うのがよさそうです。
clear TEST
for i = 1:3
TEST{1,i} = strcat('test',num2str(i));
end
for i = 1:3
TEST{2,i} = strcat('set',num2str(i));
end
A = [1:100]'; % 縦ベクトル
B = A*10;
C = A*0.1;
% 各要素をばらしてセルに変換。
Acell = num2cell(A);
Bcell = num2cell(B);
Ccell = num2cell(C);
valCell = [Acell, Bcell, Ccell];
TESTtable = cell2table([TEST; valCell]);
writetable(TESTtable, 'csvlist.csv', 'WriteVariableNames', false); % ヘッダーを書かない設定
  4 Kommentare
qrqr
qrqr am 5 Mär. 2019
TESTtable = cell2table([TEST; valCell]);
これの[cell2table]を[array2table]にしたら警告は出なくなりました。
Shunichi Kusano
Shunichi Kusano am 5 Mär. 2019
解決されたようでよかったです。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Produkte


Version

R2013b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!