ループ、計算したデータを一個一個に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!