异敛枝 2021-10-16 15:05 采纳率: 100%
浏览 144
已结题

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,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',64
I);
drawnow
if get(gcf,'CurrentCharacter')==char(27); break, end
end

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-10-16 16:07
    关注

    你好,是可以画动图啊!把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
    

    有帮助望采纳哟

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 10月24日
  • 已采纳回答 10月16日
  • 创建了问题 10月16日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装