matlab仿真光束的传输特性 联系客服

发布时间 : 星期六 文章matlab仿真光束的传输特性更新完毕开始阅读

plot(x3,y); End

?

clear all %透镜的结构参数 r1=10; r2=-50; l1=-100; L1=-100; n1=1.0; d1=5; n11=1.563 n2=1.563; n22=1.0; figure(1)

for n=-3:-1%沿光轴分别为1、2、3度的光线进行入射 %近轴光学成像公式第一个面 u1=n;

i1=(l1-r1)*u1/r1 i11=n1*i/n11; u11=u1+i1-i11;

l11=r1+r1*i11/u11; %转面公式 u2=u11; l2=l11-d1;

%近轴光学成像公式第二个面 i2=(l2-r2)*u2/r2; i22= n2*i2/n22; u22=u2+i2-i22; l22=r2+r2*i22/u22;

%入射光线与第一个透镜交点的纵坐标,坐标原点选在第一个透镜的顶点处

h1=l1*(u1*pi/180);

k1=-u1*pi/180;%入射光线的斜率

b1=100*k1;%因为入射光线经过(-100,0)点 x0=(h1-b1)/k1;%入射光线与第一个透镜交点的横坐标 x1=-100:0.01:x0; y1=k1*x1+b1; hold on

plot(x1,y1);%输出入射光线

k3=-u22*pi/180;%第二次折射后出射光线的斜率

b3=-k3*(d1+l22);%因为第二次折射后出射光线经过(d1+l22,0)点 h2=h1-d1*(u11*pi/180);%第一次折射后入射到第二个透镜的纵坐标

x00=(h2-b3)/k3;%第一次折射后入射到第二个透镜的横坐标 k2=(h2-h1)/(x00-x0);%第一次折射后光线的斜率 b2=h1-k2*x0;%因为第一次折射后光线经过(x0,h1)点 x2=x0:0.01:x00; y2=k2*x2+b2; hold on

plot(x2,y2);%输出第一次折射在两个透镜中的光线 x3=x00:0.01:30;%选在30是为了将输出图形看得更清晰些 y3=k3*x3+b3; hold on

plot(x3,y3);%输出经过第二个透镜后的输出光线 %实际光路 U1=n*pi/180;

I1=asin((L1-r1)*sin(U1)/r1); I11=asin(n1*sin(I1)/n11); U11=U1+I1-I11;

L11=r1+r1*sin(I11)/sin(U11); %转面公式 U2=U11; L2=L11-d1;

%实际光学成像公式第二个面 I2=asin((L2-r2)*sin(U2)/r2);

I22=asin(n2*sin(I2)/n22); U22=U2+I2-I22;

L22=r2+r2*sin(I22)/sin(U22);

%入射光线与第一个透镜交点的纵坐标,坐标原点选在第一个透镜的顶点处 h3=L1*tan(U1);

k4=-tan(U1);%入射光线的斜率

b4=100*k4;%因为入射光线经过(-100,0)点

x01=(h3-b4)/k4;%入射光线与第一个透镜交点的横坐标 x4=-100:0.01:x01; y4=k4*x4+b4; hold on

plot(x4,y4,'r');%输出入射光线 k6=-tan(U22);

b6=-k6*(d1+L22);%因为第二次折射后出射光线经过(d1+L22,0)点 h4=h3-d1*tan(U11);%第一次折射后入射到第二个透镜的纵坐标 x02=(h4-b6)/k6;%第一次折射后入射到第二个透镜的横坐标 k5=(h4-h3)/(x02-x01);%第一次折射后光线的斜率 b5=h4-k5*x02;%因为第一次折射后光线经过(x02,h4)点 x5=x01:0.01:x02 y5=k5*x5+b5; hold on