matlab循环程序中每一步disp的输出结果怎么保存成mat格式或txt格式?

Tmin=500; Tmax=2500; Xs=0.15; Tm=1500;
for i=1:30
options.TolX = 1;
[Topt,yy]=fminbnd(@fun_simuhitran,Tmin,Tmax,options);

if((abs(Xs-Xopt)<5.0E-3)&&(abs(Topt-Tm)<2))
    count=count+1;                   %A = count(str,pattern) 返回 pattern 在 str 中的出现次数
else                                    
    count=0;                         %非趋于收敛状态,重置count
end

Xs=Xopt;
Tm=Topt;

disp([i,count,Tm,Xs]);

if(count>3)                         % 连续3次以上迭代变化较小,退出迭代
    break;
end

end

如果要保存成mat文件或txt文件,建议在循环中先将需要保存的数据存成数组,在循环结束后再用save来保存文件。构架如下:
Data = [];
for ii = 1:30
if 满足条件
Data= [Data; i,count,Tm,Xs] ;
end
end
save DataFile Data % 保存mat文件

您好!未名大神,使用您的程序确实可以保存下来循环迭代过程中的一部分数据:

img

img

img

①第一张图片为程序运行后生成的mat文件中输出的 [i,count,Tm,Xs]值
②而我需要的是程序运行过程中出现第二张、第三张图所示的情况(在循环迭代过程无论count值为多少,所有数据都能保存下来),但mat文件中只保存了当count=0时的输出的 [i,count,Tm,Xs]值
③希望您能帮我给出进一步的解决方法,万分感谢!