MATLAB Answers

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

141 views (last 30 days)
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 …
宜しくお願いします。

  0 Comments

Sign in to comment.

Accepted Answer

Shunichi Kusano
Shunichi Kusano on 5 Mar 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 Comments

Show 1 older comment
Shunichi Kusano
Shunichi Kusano on 5 Mar 2019
具体的にどんな数値で警告出ているかわかりますか?
打ち切られているだけで値自体が変わっていないのであればいいとは思うのですが、-Infやかなり長い数値を入れても警告が出ないので確かめようがない状況です。
qrqr
qrqr on 5 Mar 2019
TESTtable = cell2table([TEST; valCell]);
これの[cell2table]を[array2table]にしたら警告は出なくなりました。
Shunichi Kusano
Shunichi Kusano on 5 Mar 2019
解決されたようでよかったです。

Sign in to comment.

More Answers (0)

Categories

Products


Release

R2013b

Community Treasure Hunt

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

Start Hunting!