异敛枝
2021-09-23 18:51
采纳率: 100%
浏览 51

Matlab绘制杨氏双缝图像

用Matlab绘制杨氏双缝干涉图像时,得出的图形总是灰色的,我想要呈现出来的图像是其他颜色的时候,代码应该怎么写呢?还请各位大佬帮忙解答!

img

图片转代码服务由CSDN问答提供 功能建议

A Figure 1
文件(E)编辑E)查看(插入)工具(工桌面(D)窗口帮助(H)
口6日口田AE
                    10 103
                                                                                        1.5
                                  -0.2 -0.1 0.1 0.2 0.3 0.5 1.5 2.5 -0.3 0.5 0.4 0.4 3.5
  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

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('双缝干涉图样')
    

    结果是这样的

    img

    如果改成copper(N),winter(N)之类的又会不一样,自己可以去试一试

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题