用matlab画牛顿迭代图形,matlab牛顿迭代动画演示

% 牛顿环演示的MATLAB程序

close all;clear;clc;

figure('Position',[90 164 873 483]);

L=632.8;R=5;H=5;

a1=axes('Position',[0.83,0.3,0.15,0.4]);

hold on;axis([0,1,0,1]);

plot([0.25,0.25],[0.5,0.8],'k');

plot([0.5,0.5],[0.5,0.8],'k');

plot([0.75,0.75],[0.5,0.8],'k');

fill([0.22,0.25,0.27],[0.5,0.44,0.5],'k');

fill([0.47,0.5,0.52],[0.5,0.44,0.5],'k');

fill([0.72,0.75,0.77],[0.5,0.44,0.5],'k');

z=1.8*exp(i*(linspace(-0.21,0.21,30)-pi/2))+2.1*i+0.5;

fill(real(z),imag(z),'w');

rectangle('Position',[0.1,0.18,0.8,0.12]);

set(gca,'xtick',[],'ytick',[],'box','on');

% \copyright: zjliu

% Author's email: zjliu2001@163.com

a2=axes('Position',[0.4,0.16,0.4,0.7]);

[x,y]=meshgrid(linspace(-0.005,0.005,200));

r2=(x.^2+y.^2);

Di=[2*H+2*(R-sqrt(R^2-r2))*1e9]/L;

In=abs(cos(Di*pi*2));

cr=abs(L-560)/200;

cg=1-cr;

cb=abs(L-600)/240;

Ik(:,:,1)=In*cr;

Ik(:,:,2)=In*cg;

Ik(:,:,3)=In*cb;

Pc=imshow(Ik,[]);

title('the pattern of Newton''s rings','fontsize',18);

Lt=uicontrol(gcf,'style','text',...

'unit','normalized','posit

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值