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

3 visualizaciones (últimos 30 días)
nei kou
nei kou el 23 de Nov. de 2017
Editada: Akira Agata el 24 de Nov. de 2017
forループで計算したdataを一列一列ごとにtxtに書き込みたいですが、 どうすれば、良いでしょうか?
  1 comentario
Akira Agata
Akira Agata el 24 de Nov. de 2017
念のため確認なのですが、「一行一行ごと」ではなく、「一列一列ごと」でしょうか?

Iniciar sesión para comentar.

Respuesta aceptada

Akira Agata
Akira Agata el 24 de Nov. de 2017
Editada: Akira Agata el 24 de Nov. de 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

Más respuestas (1)

nei kou
nei kou el 24 de Nov. de 2017
はい。一列一列ごとに

Community Treasure Hunt

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

Start Hunting!