ループ、計算したデータを一個一個にtxt書き出す
3 views (last 30 days)
Show older comments
forループで計算したdataを一列一列ごとにtxtに書き込みたいですが、 どうすれば、良いでしょうか?
Accepted Answer
Akira Agata
on 24 Nov 2017
Edited: Akira Agata
on 24 Nov 2017
できれば、forループで計算したデータすべてを保存できるだけの配列をあらかじめ用意しておいて、forループが完了した後、一括でまとめてファイル出力をすることをお勧めします。
もしどうしても1列ごとに出力する必要がある場合、 dlmwrite 関数を使ってforループごとにファイルを上書き保存することで、1列ごとにテキストファイルに書き込むのと実質的に同じ結果を得ることができます。
たとえば以下のサンプルコードでは、forループが回るごとにダイアログボックスを表示して、「はい」ボタンが押されるたびに計算結果(列データ)をテキストファイルに書き込みます。
% データ配列の事前割り当て
A = zeros(10);
for kk = 1:10
% forループで計算したデータを列に保存
A(:,kk) = rand(10,1);
% ダイアログボックスを表示
choice = questdlg('ファイル記入を続けますか?');
% 'Yes' が押されるたびに 1~kk 列までのデータを保存
if strcmp(choice,'Yes')
dlmwrite('myFile.txt',A(:,1:kk),'delimiter',',');
else
break;
end
end
0 Comments
More Answers (1)
See Also
Categories
Find more on テキスト ファイル in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!