ループ、計算したデータを一個一個にtxt書き出す
조회 수: 3 (최근 30일)
이전 댓글 표시
forループで計算したdataを一列一列ごとにtxtに書き込みたいですが、 どうすれば、良いでしょうか?
채택된 답변
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
댓글 수: 0
추가 답변 (1개)
참고 항목
카테고리
Help Center 및 File Exchange에서 テキスト ファイル에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!