Как мне заставить работать полосу ожидания в Matlab?

Я хочу иметь полосу ожидания для операции, которая занимает довольно много времени. Вот мой код:

h = waitbar(0,'Please wait...');

for i=1:counterend
    waitbar(i/waitbarcounter)
    Atemp    = At+i*step;
    handle   = @(M) 1/M^2*((2/(gamma+1))*(1+(gamma-1)*M^2/2))^((gamma+1)/(gamma-1))-(Atemp/At)^2;
    Mach     = fzero(handle, 5);
    Aplot(i) =  Atemp/At;
    Tplot(i) = Tc / (1+(gamma-1)*Mach^2/2);
    Mplot(i) = Mach;
    plot(Aplot, Tplot)
end

close(h) 

Matlab выдает ошибку:

??? Ошибка при использовании ==> панели ожидания на 249
Неправильные аргументы для полосы ожидания

После расследования я уверен, что эта ошибка должна возникать из-за кода, окружающего цикл.

Примечание: цикл отлично работает без полосы ожидания.

6
задан Ingo 28 August 2010 в 10:31
поделиться