用Matlab绘制杨氏双缝干涉图像时,得出的图形总是灰色的,我想要呈现出来的图像是其他颜色的时候,代码应该怎么写呢?还请各位大佬帮忙解答!
Matlab绘制杨氏双缝图像
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 技术专家团-Joel 2021-09-23 19:11关注
你好!请问你需要什么颜色呢?
clc close all clear all %% %%代码分块运行 lambda = 500e-9; %%波长500nm d = 2e-3; %%双缝间距2mm D=1; %%双缝距离观察屏之间的距离1m ym=5*lambda*D/d; %%表示最宽的位置为5个亮纹处 xs=ym; n=101; ys=linspace(-ym,ym,n); %%屏面线性间距向量 for i=1:n r1=sqrt((ys(i)-d/2).^2+D^2); %%光程1 r2=sqrt((ys(i)+d/2).^2+D^2); %%光程2 phi=2*pi*(r2-r1)./lambda; %%相位差 B(i,:)=4*cos(phi/2).^2; %%计算光强,假设初始光强为1,不必加sum end N=255; Br=B*55; %%将光强乘以一个值,以增强图像的区分度,这个值不能太大亦不能太小,可以试一试 subplot(1,2,1); %%一行两列中的第一幅图 image(xs,ys,Br); %%从数组显示图像 colormap(gray(N)); %%使图像以灰度图像显示 subplot(1,2,2); %%一行两列中的第二幅图 plot(B,ys); title('双缝干涉图样')
只要把原来的colormap(gray(N))改成你需要的就行,比如jet(N)
clc close all clear all %% %%代码分块运行 lambda = 500e-9; %%波长500nm d = 2e-3; %%双缝间距2mm D=1; %%双缝距离观察屏之间的距离1m ym=5*lambda*D/d; %%表示最宽的位置为5个亮纹处 xs=ym; n=101; ys=linspace(-ym,ym,n); %%屏面线性间距向量 for i=1:n r1=sqrt((ys(i)-d/2).^2+D^2); %%光程1 r2=sqrt((ys(i)+d/2).^2+D^2); %%光程2 phi=2*pi*(r2-r1)./lambda; %%相位差 B(i,:)=4*cos(phi/2).^2; %%计算光强,假设初始光强为1,不必加sum end N=255; Br=B*55; %%将光强乘以一个值,以增强图像的区分度,这个值不能太大亦不能太小,可以试一试 subplot(1,2,1); %%一行两列中的第一幅图 image(xs,ys,Br); %%从数组显示图像 colormap(jet(N)); %%使图像以灰度图像显示 ¥¥¥¥¥¥¥¥(改这里) subplot(1,2,2); %%一行两列中的第二幅图 plot(B,ys); title('双缝干涉图样')
结果是这样的
如果改成copper(N),winter(N)之类的又会不一样,自己可以去试一试
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
- ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
- ¥15 stata安慰剂检验作图但是真实值不出现在图上
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因