N = 10000; % 処理回数
totalTime = 0;
for i = 1:N
tic;
% ---- ここに処理を記述 ----
:
:
:
% --------------------------
t = toc;
totalTime = totalTime + t;
% 進捗表示(100回ごと)
if mod(i, 100) == 0 || i == N
avgTime = totalTime / i;
remainTime = avgTime * (N - i);
finishTime = datetime('now') + seconds(remainTime);
fprintf(['進捗: %d/%d (%.1f%%), ' ...
'経過: %s, 残り: %s, 完了予定: %s\n'], ...
i, N, i/N*100, ...
char(duration(0, 0, totalTime, 'Format', 'hh:mm:ss')), ...
char(duration(0, 0, remainTime, 'Format', 'hh:mm:ss')), ...
char(finishTime, 'yyyy-MM-dd HH:mm:ss'));
end
end