ファイルを開いてデータポイントを書き込むこのプログラムがありますが、問題はループ内でそれを行う必要があることです。それは行く:
file1=importdata('myfile.txt','%s')
for k=1:1:128
fid=fopen('myfile2.txt','w+') % I write input to that file and pass it to my exe file
fprintf(fid,'input1')
fprintf(fid,'input2')
fprintf(fid,'input3')
the 4th input (input4) is being taken from a diff file.txt and
input4=sscanf(file1{k},'%s')
Val=str2double(input4)
fprintf(fid,'%.3f',Val)
fclose(fid)
[status,result]=system('command<myfile2.txt')
M= sscanf(result,'%s')
more_result=[ Val M]
Fid2=fopen(myfile3.txt,'w+')
frpintf(Fid2,'%s', more_result)
end
これは、コードの漠然とした考えです。次にsscanf
、必要な特定の値 (M) を取得する結果を取得します。
Val と Z を別のファイルに書き込みたいのですがfopen(fid,'w+')
、ループ内で更新し続けるため、ファイル内のそれぞれの最後の値しか取得できません。プラスを使用a+
しても役に立たず、プログラムの実行が完了した後も追加され続け、更新されません。
今、私は a+ を使用しています。実行が完了したら、そのファイルの内容を手動で削除します。ループの外に書き込むとエラーが発生します。各実行後にファイルをクリアする方法はありますか?