Indicador Matlab colorbar que mudança dinâmica

Executando o próximo código, recebo uma barra preta na barra de cores que muda a cada loop.

Se eu mudar os limites, de 200 para 2000, e corro paray= x.^2 +10*i +1000, 2ª versão, a barra às vezes aparece, outras não. Alguém sabe o porquê? e como fazer isso funcionar?

É possível ter uma barra de cores dinâmica? ou seja, se traçarmos uma saída de som, para mostrar como barra de cores o nível de som em dB

EDITADO:

x = 1:10;
figure;
for i = 1:10
y= x.^2 +10*i;
% y= x.^2 +10*i +1000; % 2nd version
plot(x,y,'-r'); hold on;
pause(1)
caxis([0 200]); 
% caxis([0 2000]); % 2nd version
cmap = jet(200);
% cmap = jet(2000);% 2nd version
cmap(y(end), :) = 0;
set(gcf, 'Colormap', cmap);
colorbar;
disp(y(end))
grid on;
end

obrigado.

NOVA EDIÇÃO:

com base na excelente resposta da EBH, uma pergunta complementar:

Estou tentando adicionar um segundo colobar, à esquerda, mas não consigo fazer funcionar os dois:

x = 1:10;
w1 = -15:15;
w2 = -1:1;
figure;
for i = 1:10

% %{
y= x.^2 +10*i +1000; %  
plot(x,y,'-r'); hold on;
pause(1)
caxis([0 2000]); %  
cmap1 = jet(2000);% 
cmap1(w1+y(end), :) = 0;
set(gcf, 'Colormap', cmap1);
h1=colorbar('eastoutside');
ylabel(h1, 'y')
disp(y(end))
%}


% %{
y2= x.^2 +5*i; %  
plot(x,y2,'-b'); hold on;
pause(1)
caxis([0 150]); 
cmap2 = jet(150);
cmap2(w2+y2(end-5), :) = 0; hold on;
cmap2(w2+y2(end), :) = 0; hold on;
set(gcf, 'Colormap', cmap2);
h2=colorbar('westoutside');
ylabel(h2, 'y2')
disp(y2(end-5))
disp(y2(end))

%}

grid on;
end

Então, posso fazê-lo funcionar? o problema é o caxis? e é possível diminuir a largura das duas barras de cores?