% 牛顿环演示的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','position',[0.06,0.86,0.21,0.06],...

'BackgroundColor',0.7*[1,1,1],'ForegroundColor',[0.8,0.1,0.9],...

'string','波长: 632.8nm','fontsize',16,'fontname','times new roman');

s1=uicontrol(gcf,'style','slider',...

'unit','normalized','position',[0.06,0.76,0.21,0.04],...

'BackgroundColor',0.7*[1,1,1],'ForegroundColor',[0.1,0.1,0.9],...

'SliderStep',[0.01,0.01],'value',(632.8-360)/400,...

'callback',['L=get(s1,''value'')*400+360;',...

'set(Lt,''string'',[''波长: '',num2str(L/10),''nm'']);',...

'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;set(Pc,''CData'',Ik);']);

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

'unit','normalized','position',[0.04,0.81,0.08,0.04],...

'BackgroundColor',0.8*[1,1,1],'ForegroundColor',[0.1,0.1,0.9],...

'string','360','fontsize',16,'fontname','times new roman');

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

'unit','normalized','position',[0.22,0.81,0.08,0.04],...

'BackgroundColor',0.8*[1,1,1],'ForegroundColor',[0.1,0.1,0.9],...

'string','760','fontsize',16,'fontname','times new roman');

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

'unit','normalized','position',[0.06,0.66,0.23,0.06],...

'BackgroundColor',0.7*[1,1,1],'ForegroundColor',[0.8,0.1,0.9],...

'string','曲率半径:','fontsize',16,'fontname','times new roman');

s2=uicontrol(gcf,'style','slider',...

'unit','normalized','position',[0.06,0.56,0.21,0.04],...

'BackgroundColor',0.7*[1,1,1],'ForegroundColor',[0.1,0.1,0.9],...

'SliderStep',[0.01,0.01],...

'callback',['R=get(s2,''value'')*7+5;',...

'set(Rt,''string'',[''曲率半径: 5m'',num2str(R),''m'']);',...

'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;set(Pc,''CData'',Ik);']);

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

'unit','normalized','position',[0.04,0.61,0.08,0.04],...

'BackgroundColor',0.8*[1,1,1],'ForegroundColor',[0.1,0.1,0.9],...

'string','5','fontsize',16,'fontname','times new roman');

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

'unit','normalized','position',[0.22,0.61,0.08,0.04],...

'BackgroundColor',0.8*[1,1,1],'ForegroundColor',[0.1,0.1,0.9],...

'string','12','fontsize',16,'fontname','times new roman');

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

'unit','normalized','position',[0.06,0.46,0.23,0.06],...

'BackgroundColor',0.7*[1,1,1],'ForegroundColor',[0.8,0.1,0.9],...

'string','气缝厚度: 5nm','fontsize',16,'fontname','times new roman');

s3=uicontrol(gcf,'style','slider',...

'unit','normalized','position',[0.06,0.36,0.21,0.04],...

'BackgroundColor',0.7*[1,1,1],'ForegroundColor',[0.1,0.1,0.9],...

'SliderStep',[0.01,0.01],'value',0.05,...

'callback',['H=get(s3,''value'')*100;',...

'set(Ht,''string'',[''气缝厚度: '',num2str(H),''nm'']);',...

'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;set(Pc,''CData'',Ik);']);

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

'unit','normalized','position',[0.04,0.41,0.08,0.04],...

'BackgroundColor',0.8*[1,1,1],'ForegroundColor',[0.1,0.1,0.9],...

'string','0','fontsize',16,'fontname','times new roman');

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

'unit','normalized','position',[0.22,0.41,0.08,0.04],...

'BackgroundColor',0.8*[1,1,1],'ForegroundColor',[0.1,0.1,0.9],...

'string','100','fontsize',16,'fontname','times new roman');

%%%% Note

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

'unit','normalized','position',[0.05,0.08,0.68,0.07],...

'BackgroundColor',0.8*[1,1,1],'ForegroundColor',[0.8,0.2,0.2],...

'string','颜色和波长的关系可能不准确,我只是根据大致的关系写的',...

'fontsize',16,'fontname','times new roman');

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

'unit','normalized','position',[0.05,0.02,0.6,0.07],...

'BackgroundColor',0.8*[1,1,1],'ForegroundColor',[0.9,0.2,0.5],...

'string','\Copyright zjliu, email: zjliu2001@163.com',...

'fontsize',16,'fontname','times new roman');

用matlab画牛顿迭代图形,matlab牛顿迭代动画演示相关推荐

  1. matlab绘图z=sin(x_「matlab画三维图」Matlab 应用之绘制三维图形(基础篇) - seo实验室...

    matlab画三维图 在Matlab中,三维图形的绘制包括三维曲线,三维网线图和三维曲面图.闲话不多说,直接进入正题.首先介绍几个函数: 1.plot3(x,y,z,-) 其中,x,y,z为维数相同的 ...

  2. matlab画一个三维图形投影的函数的图

    在 MATLAB 中,可以使用 surf 函数画出三维图形的投影图.首先,需要确定图形的 X.Y 和 Z 坐标数据.然后,可以在命令窗口中输入 surf(X,Y,Z) 来绘制图形. 例如: [X,Y] ...

  3. matlab画动物轮廓图,MATLAB一维插值的应用实例—画左右手的轮廓图

    问题提出 画你自己的手的形状,在MATLAB中输入 figure('position',get(0,'screensize')) axes('position',[0 0 1 1]) [x,y]=gi ...

  4. matlab画不定积分图像实例,matlab怎么画函数图像,原来是这样的

    函数想必大家都不陌生,有时候我们需要画出函数的图形,但是复杂的函数我们画出来花费时间太多,下面我来教大家用matlab画函数图像. 工具/材料 电脑 matlab软件 操作方法 01 先下载安装这个软 ...

  5. matlab画y x 2,matlab怎么绘制z=sqrt(x^2 y^2)的图像

    Matlab怎么绘制x^2+y^2=1曲线 [1]zhaoyucai答非所问,涉嫌抄袭.[2]风飘水渺回答正确.[3]但还有更简单的方法:>>ezplot('x^2+y^2=1',[-1. ...

  6. 怎么用matlab画双8曲线,MATLAB画双纵轴曲线。

    Matlab plotyy画双纵坐标图实例 x = 0:0.01:20; y1 = 200*exp(-0.05*x).*sin(x); y2 = 0.8*exp(-0.5*x).*sin(10*x); ...

  7. matlab画平面心形线,matlab三维心形线画法

    cosθ的心形线图像 图 2 ρ = 0.5 + cosθ的心形线图像 图 5 ρ = 1 ? cosθ的心形线图像 Matlab 绘制,附代码: theta=0:0.1:2*pi; rho1=1-. ...

  8. matlab画xyz的等高线图,matlab如何画等高线图

    MATLAB 中提供了一系列的函数用于绘制不同形式的等高线图,其中包括: 1.contour()函数 contour()函数可用于绘制二维等值线图,函数的调用格式为: ? contour(z):... ...

  9. matlab画伯德图开环程序,matlab伯德图开环闭环

    Matlab 中 Bode 图的绘制技巧 学术收藏 2010-06-04 21:21:48 阅读 54 评论 0 字号:大中小 订阅 我们经常会遇到使用 Matlab 画伯德图的情况,可能我们我们都知 ...

  10. matlab 画实心矩形,用matlab画最小外接矩形

    在此之前先介绍一个画矩形的函数: rectangle('Position',[0.59,0.35,3.75,1.37],'Curvature',[0,0],'LineWidth',2,'LineSty ...

最新文章

  1. linux日志idProduct,linux – 机器ID是uuid吗?
  2. 76 道 Oracle Goldengate 面试问题
  3. onmouseover和onmouseout在Repeater控件中应用
  4. 网站集成支付宝的方法和所需资料下载
  5. c语言停止线程,如何用C语言实现多线程
  6. JVM: G1和CMS的区别
  7. 获取jar包内部的资源文件
  8. LeetCode Algorithm 剑指 Offer 25. 合并两个排序的链表
  9. [CF1082E] Increasing Frequency
  10. 你真的理解零拷贝了吗?
  11. c语言从入门到精通 PPT,C语言从入门到精通第1章讲述.ppt
  12. xrd连续扫描和步进扫描_材料分析测试技术实验报告
  13. excalidraw 使用中文手写体
  14. 计算机 服装生产管理的变化,服装生产与管理服装生产管理概述.ppt
  15. JavaScript 详解(表单验证,JSON,JS事件,JS函数)
  16. 一件虚拟连衣裙价值9500美元?然而这只是数字服装的开始……
  17. 闪电贷攻击的深层原因:价格预言机操纵攻击
  18. nacos 消息机制
  19. 台式计算机的机箱分为,电脑机箱尺寸分类
  20. 2.2 STM32 RAM溢出分析(KEIL在Build的时候提示Error:L6406E:No space in execution)

热门文章

  1. unity中链接字符串和变量显示_unity3d根据字符串读取属性.
  2. ospf 环回口的路由条目_华为OSPF基础实验
  3. matlab 三维绘图 抛光,瓷砖抛光过程建模与仿真
  4. 如何改变php的语言变中文,yii2怎么设置切换语言
  5. mysql设计学习_Mysql数据库设计学习
  6. 改进的有效边表算法_优硕微展 | 张和慧:基于邻域保持嵌入算法的间歇过程故障检测研究...
  7. android 屏幕适配dimens,关于android:安卓屏幕适配一键生成dimens文件
  8. 新疆大学c语言期末考试题库,2016年新疆师范大学教育科学学院C语言程序设计考研复试题库...
  9. sql net message from client
  10. go语言调用c指针接口,GoLang之调用C接口的使用方法