按照下面的代码写的,结果出来的图像总是不会动的图,看了很久也没看出来是哪里有问题?求求各位路过的大佬给看看.・゚゚・(/ω\)・゚゚・.
clear;rm=5;r=-rm:0.01:rm;
[X,Y]=meshgrid(r);
R=sqrt(X.^2+Y.^2);
I=cos(pi*(R.^2+1/2)).^2;
I(R>rm)=0;
c=linspace(0,1,64)';
figure,h=image(I64);
pause,d=0;
while 1
d=d+0.02;
I=cos(pi(R.^2+1/2+2d)).^2;
I(R>rm)=0;
set(h,'CData',64I);
drawnow
if get(gcf,'CurrentCharacter')==char(27); break, end
end
你好,是可以画动图啊!把pause里面加上(0.001)的时间,不然一直停在那里
%用matlab画牛顿环
clear
rm = 5;
r=- rm:0.01:rm;
[X, Y]=meshgrid(r);
R=sqrt(X.^2+Y.^2);
I=cos(pi*(R.^2+1/2)).^2;
%反射光的相对光强
I (R>rm)=0;
c=linspace(0,1, 64)';
figure(1);clf;
h=image (I*64);
colormap([c, c*0, c*0]);
colormap(jet)
axis off equal %形成红色色图, 隐轴
title('牛顿环(反射光)','FontSize' ,16)
pause(0.001), d=0;
while 1
d=d+0.005;
I=cos (pi*(R.^2+1/2+2*d)).^2;
I(R>rm)=0;
set(h,'CData' , 64*I);
pause(0.001)
drawnow
if get (gcf,'CurrentCharacter' )==char (27)
break;
end %按ESC键退出
end
有帮助望采纳哟