早教吧作业答案频道 -->数学-->
求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大神帮忙解决错...的网友还看了以下:
1,一条光线从点M(5,3)射出,被直线L:x+y=1反射,入射光线与L的夹角为β,且tanβ=2, 2020-03-30 …
两份体积相同的某植物营养液,其配方分别如下:KClK2SO4ZnSO4①0.3mol•L-10.2 2020-05-13 …
请问:L-1(+0.900)上(-0.500)下, 2020-06-08 …
已知点P(2,3)和直线l:x+y+1=0求(1)点p关于直线l的对称点p’的坐标(2)若一束光线 2020-06-12 …
求matlab大神帮忙解决错误白光光栅衍射代码clf;%设置固定参数lamda=[660,610, 2020-07-24 …
如图所示,在竖直平面内有半径为R="0.2"m的光滑1/4圆弧AB,圆弧B处的切线水平,O点在B点 2020-07-31 …
LC振荡电路中可变电容器电容C的取值范围为10pF—360pF,线圈的自感系数L="1.0"mH,求 2020-11-03 …
3、如图所示,带电平行板电容器竖直放置,两板之间距离d=0.10m,电势差U=1.0ⅹ103V.一个 2020-12-05 …
已知向量a=(1,1),b=(1,0),c满足ac=0,且丨a丨=丨c丨,bc>0(1)求出了c(- 2020-12-09 …
跳水运动员从脚底高于水面H=10米的跳台自由落下,假设运动员的质量m=60千克,其体形可等效为一长度 2020-12-10 …