2024年3月9日发(作者:)

关于matlab中的waitbar(用于显示程序运行的进度)

应用1:

h = waitbar(x,'message'); %其中x必须为0到1之间的数,message为显示的信息,

其实这个x大于1也可以啊,但是进度条总在满的状态,x是多少就对应进度条显示的比

例是多少

举例: hwait=waitbar(0,'请等待>>>>>>>>'); %这个0显示的是进度条的位置,

因为是0,就在起始位置,还有就是这个hwait就是这个waitbar函数的句柄

得到:

应用2:

waitbar(x,h,'updated message'); % x为显示的进度,必须在0到1之间;h为所建

立的waitbar的句柄,updated message为实时显示的信息,此语句经常地用于for循环

举例:

steps=100;

hwait=waitbar(0,'请等待>>>>>>>>');

for k=1:steps

if steps-k<=5

waitbar(k/steps,hwait,'即将完成'); %因为k/steps在逐步增大,所有进度条在往右

走,另外,如果这个hwait不加上的话,会显示n多个进度条窗口,让你关闭不过来啊,

加上之后就只显示一个了

pause(0.05); %延时一下啊 否则太快看不出来变化,一般有个0.01就能看出变化,

但还是比较快的

else

str=['正在运行中',num2str(k),'%']; %用于显示如下图中“正在运行中46%”等比例

数据

waitbar(k/steps,hwait,str);

pause(0.05); %pause(n)函数是程序停止n秒后继续,n可以使分数或小数。函数的

分辨率根据平台而定,大多数平台都能满足0.01秒的精度。

end

end