早教吧作业答案频道 -->数学-->
求matlab大神帮忙解决错误白光光栅衍射代码clf;%设置固定参数lamda=[660,610,570,550,460,440,410]*1e-9;%七色光的波长,单位米RGB=[1,0,0;1,0.5,0;1,1,0;0,1,0;0,1,1;0,0,1;0.67,0,1];%七色光的RGB值d=4e-5;%光栅常
题目详情
求matlab大神帮忙解决错误白光光栅衍射代码
clf;
%设置固定参数
lamda=[660,610,570,550,460,440,410]*1e-9; %七色光的波长,单位米
RGB=[1,0,0; 1,0.5,0; 1,1,0; 0,1,0; 0,1,1; 0,0,1; 0.67,0,1]; %七色光的RGB 值
d=4e-5; %光栅常数
%设置可调参数
b=8e-6;
N=18; %透光缝宽及光栅单元数
Bright=80; %亮度调节系数
%设置仿真光屏参数
Irgb=zeros(150,1048,3); %仿真光屏矩阵(仿真结果RGB值图像矩阵,初值置零)
Iw=zeros(150,1048,3); %用于记录各色光衍射结果的RGB值矩阵(初值置零)
%计算白光光栅衍射的光强及对应的RGB 值矩阵数据
%计算各色光光栅衍射光强分布
for k=1:7
theta=(-0.015*pi:0.00001:0.015*pi); %衍射角度的变化范围
phi=2*pi*d*sin(theta)/lamda(k);
alpha=pi*b*sin(theta)/lamda(k);
Idf=(sinc(alpha)).^2; %单缝衍射的相对光强
Idgs=(sin(N*phi/2)./sin(phi/2)).^2; %多光束干涉的相对光强
I= Idf .* Idgs; %光栅衍射的相对光强
%计算与各色光衍射光强对应的RGB 值矩阵数据
for i=1:150
Iw(i,:,1)=I*RGB(k,1); %把红基色代码计入Iw 矩阵红维度
Iw(i,:,2)=I*RGB(k,2); %把绿基色代码计入Iw 矩阵绿维度
Iw(i,:,3)=I*RGB(k,3); %把蓝基色代码计入Iw 矩阵蓝维度
end
%计算白光光栅衍射RGB 值图像矩阵数据
Irgb=Irgb+Iw; %把各色光衍射的RGB 值矩阵计入仿真结果RGB 值图像矩阵中
Iw=[];
end
%显示白光光栅衍射实验仿真结果
Br=1/max(max(max(Irgb))); %调整Irgb 矩阵元素的最大值为1 的系数
II=Irgb*Br*Bright; %调节仿真图像亮度
imshow(II); %显示仿真结果
clf;
%设置固定参数
lamda=[660,610,570,550,460,440,410]*1e-9; %七色光的波长,单位米
RGB=[1,0,0; 1,0.5,0; 1,1,0; 0,1,0; 0,1,1; 0,0,1; 0.67,0,1]; %七色光的RGB 值
d=4e-5; %光栅常数
%设置可调参数
b=8e-6;
N=18; %透光缝宽及光栅单元数
Bright=80; %亮度调节系数
%设置仿真光屏参数
Irgb=zeros(150,1048,3); %仿真光屏矩阵(仿真结果RGB值图像矩阵,初值置零)
Iw=zeros(150,1048,3); %用于记录各色光衍射结果的RGB值矩阵(初值置零)
%计算白光光栅衍射的光强及对应的RGB 值矩阵数据
%计算各色光光栅衍射光强分布
for k=1:7
theta=(-0.015*pi:0.00001:0.015*pi); %衍射角度的变化范围
phi=2*pi*d*sin(theta)/lamda(k);
alpha=pi*b*sin(theta)/lamda(k);
Idf=(sinc(alpha)).^2; %单缝衍射的相对光强
Idgs=(sin(N*phi/2)./sin(phi/2)).^2; %多光束干涉的相对光强
I= Idf .* Idgs; %光栅衍射的相对光强
%计算与各色光衍射光强对应的RGB 值矩阵数据
for i=1:150
Iw(i,:,1)=I*RGB(k,1); %把红基色代码计入Iw 矩阵红维度
Iw(i,:,2)=I*RGB(k,2); %把绿基色代码计入Iw 矩阵绿维度
Iw(i,:,3)=I*RGB(k,3); %把蓝基色代码计入Iw 矩阵蓝维度
end
%计算白光光栅衍射RGB 值图像矩阵数据
Irgb=Irgb+Iw; %把各色光衍射的RGB 值矩阵计入仿真结果RGB 值图像矩阵中
Iw=[];
end
%显示白光光栅衍射实验仿真结果
Br=1/max(max(max(Irgb))); %调整Irgb 矩阵元素的最大值为1 的系数
II=Irgb*Br*Bright; %调节仿真图像亮度
imshow(II); %显示仿真结果
▼优质解答
答案和解析
clf;
%设置固定参数
lamda=[660,610,570,550,460,440,410]*1e-9; %七色光的波长,单位米
RGB=[1,0,0; 1,0.5,0; 1,1,0; 0,1,0; 0,1,1; 0,0,1; 0.67,0,1]; %七色光的RGB 值
d=4e-5; %光栅常数
%设置可调参数
b=8e-6;
N=18; %透光缝宽及光栅单元数
Bright=80; %亮度调节系数
%设置仿真光屏参数
Irgb=zeros(150,9425,3); %仿真光屏矩阵(仿真结果RGB值图像矩阵,初值置零)
Iw=zeros(150,9425,3); %用于记录各色光衍射结果的RGB值矩阵(初值置零)
%计算白光光栅衍射的光强及对应的RGB 值矩阵数据
%计算各色光光栅衍射光强分布
for k=1:7
theta=(-0.015*pi:0.00001:0.015*pi); %衍射角度的变化范围
phi=2*pi*d*sin(theta)/lamda(k);
alpha=pi*b*sin(theta)/lamda(k);
Idf=(sinc(alpha)).^2; %单缝衍射的相对光强
Idgs=(sin(N*phi/2)./sin(phi/2)).^2; %多光束干涉的相对光强
I= Idf .* Idgs; %光栅衍射的相对光强
%计算与各色光衍射光强对应的RGB 值矩阵数据
for i=1:150
red = I*RGB(k,1); %把红基色代码计入Iw 矩阵红维度
green = I*RGB(k,2); %把绿基色代码计入Iw 矩阵绿维度
yellow = I*RGB(k,3);%把蓝基色代码计入Iw 矩阵蓝维度
Iw(i,:,1)=red;
Iw(i,:,2)=green;
Iw(i,:,3)=yellow;
end
%计算白光光栅衍射RGB 值图像矩阵数据
Irgb=Irgb+Iw; %把各色光衍射的RGB 值矩阵计入仿真结果RGB 值图像矩阵中
Iw=[];
end
%显示白光光栅衍射实验仿真结果
Br=1/max(max(max(Irgb))); %调整Irgb 矩阵元素的最大值为1 的系数
II=Irgb*Br*Bright; %调节仿真图像亮度
imshow(II); %显示仿真结果
%设置固定参数
lamda=[660,610,570,550,460,440,410]*1e-9; %七色光的波长,单位米
RGB=[1,0,0; 1,0.5,0; 1,1,0; 0,1,0; 0,1,1; 0,0,1; 0.67,0,1]; %七色光的RGB 值
d=4e-5; %光栅常数
%设置可调参数
b=8e-6;
N=18; %透光缝宽及光栅单元数
Bright=80; %亮度调节系数
%设置仿真光屏参数
Irgb=zeros(150,9425,3); %仿真光屏矩阵(仿真结果RGB值图像矩阵,初值置零)
Iw=zeros(150,9425,3); %用于记录各色光衍射结果的RGB值矩阵(初值置零)
%计算白光光栅衍射的光强及对应的RGB 值矩阵数据
%计算各色光光栅衍射光强分布
for k=1:7
theta=(-0.015*pi:0.00001:0.015*pi); %衍射角度的变化范围
phi=2*pi*d*sin(theta)/lamda(k);
alpha=pi*b*sin(theta)/lamda(k);
Idf=(sinc(alpha)).^2; %单缝衍射的相对光强
Idgs=(sin(N*phi/2)./sin(phi/2)).^2; %多光束干涉的相对光强
I= Idf .* Idgs; %光栅衍射的相对光强
%计算与各色光衍射光强对应的RGB 值矩阵数据
for i=1:150
red = I*RGB(k,1); %把红基色代码计入Iw 矩阵红维度
green = I*RGB(k,2); %把绿基色代码计入Iw 矩阵绿维度
yellow = I*RGB(k,3);%把蓝基色代码计入Iw 矩阵蓝维度
Iw(i,:,1)=red;
Iw(i,:,2)=green;
Iw(i,:,3)=yellow;
end
%计算白光光栅衍射RGB 值图像矩阵数据
Irgb=Irgb+Iw; %把各色光衍射的RGB 值矩阵计入仿真结果RGB 值图像矩阵中
Iw=[];
end
%显示白光光栅衍射实验仿真结果
Br=1/max(max(max(Irgb))); %调整Irgb 矩阵元素的最大值为1 的系数
II=Irgb*Br*Bright; %调节仿真图像亮度
imshow(II); %显示仿真结果
看了 求matlab大神帮忙解决错...的网友还看了以下:
在坐标平面上有两个区域M和N,M是由y≥0、y≤x和y≤2-x三个不等式来确定的,N是随t变化的区 2020-05-13 …
若a的m次方=a的n次方(a>0,且a不为1,m,n是正整数),则m=n.你能利用上面的结论解决下 2020-05-14 …
f(x)=1/3x^3-x-1.f(x)在t≤x≤t+3上最大值为M(t),最小值为m(t)记g( 2020-07-13 …
帮忙求个递推公式,从兔子繁殖问题衍生而来.m(0)=1,m(1)=1,m(2)=1,m(3)=2, 2020-08-01 …
A:Goodmorning!B:1.!A:2.?B:Myname'sDavid.AreyouTim 2020-10-30 …
y^2=2mx,z^2=m-x在点1,-2,1处的切线和法平面令Y^2=2mtZ^2=m-tx=t, 2020-11-01 …
已知质点运动方程为r(t)=x(t)i+y(t)j其中x(t)=(m/s)t+2m,y(t)=(1/ 2020-11-01 …
设二次函数f(x)=ax2+bx+c(a.b.c∈R)满足条件:①当x∈R时,其最小值为0,且f(x 2020-11-01 …
探究加速度与力质量的关系实验为什么m远小于m浪了一个寒假忘的差不多了对小车:T=Ma得到a=T/M, 2020-11-01 …
设A为实数,记函数f(x)=a√(1-x^2)+√(1+x)+√(1-x)的最大值为g(a)1.设t 2020-12-31 …