ループ、計算したデータを一個一個にtxt書き出す

3 ビュー (過去 30 日間)
nei kou
nei kou 2017 年 11 月 23 日
編集済み: Akira Agata 2017 年 11 月 24 日
forループで計算したdataを一列一列ごとにtxtに書き込みたいですが、 どうすれば、良いでしょうか?
  1 件のコメント
Akira Agata
Akira Agata 2017 年 11 月 24 日
念のため確認なのですが、「一行一行ごと」ではなく、「一列一列ごと」でしょうか?

サインインしてコメントする。

採用された回答

Akira Agata
Akira Agata 2017 年 11 月 24 日
編集済み: Akira Agata 2017 年 11 月 24 日
できれば、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

その他の回答 (1 件)

nei kou
nei kou 2017 年 11 月 24 日
はい。一列一列ごとに

Community Treasure Hunt

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

Start Hunting!