椭圆偏振光的仿真计算.docx

上传人:b****8 文档编号:28453590 上传时间:2023-07-13 格式:DOCX 页数:37 大小:260.37KB
下载 相关 举报
椭圆偏振光的仿真计算.docx_第1页
第1页 / 共37页
椭圆偏振光的仿真计算.docx_第2页
第2页 / 共37页
椭圆偏振光的仿真计算.docx_第3页
第3页 / 共37页
椭圆偏振光的仿真计算.docx_第4页
第4页 / 共37页
椭圆偏振光的仿真计算.docx_第5页
第5页 / 共37页
点击查看更多>>
下载资源
资源描述

椭圆偏振光的仿真计算.docx

《椭圆偏振光的仿真计算.docx》由会员分享,可在线阅读,更多相关《椭圆偏振光的仿真计算.docx(37页珍藏版)》请在冰豆网上搜索。

椭圆偏振光的仿真计算.docx

椭圆偏振光的仿真计算

 

光电综合设计

 

学院:

理学院

专业:

应用物理学

姓名:

闻奚跃

学号:

B11080623

 

 

2015年1月4日~2015年1月8日

目录

一、课题1:

课题名称1

1.1.课题任务要求及技术指标1

1.2.课题分析及设计思路1

1.3.系统设计(建模)1

1.4.仿真结果与结果分析1

二、课题2:

课题名称2

2.1.课题任务要求及技术指标2

2.2.课题分析及设计思路2

2.3.系统设计(建模)2

2.4.仿真结果与结果分析2

三、课题3:

课题名称3

3.1.课题任务要求及技术指标3

3.2.课题分析及设计思路3

3.3.系统设计(建模)3

3.4.仿真结果与结果分析3

四、课程设计小结4

一、课题1:

课题名称

1.1.课题任务要求及技术指标

椭圆偏振光的仿真计算

设计任务:

根据椭圆偏振光公式:

(1)做出对应不同

值的椭圆偏振图;

(2)两椭圆(包括圆)偏振光的叠加。

设计要求:

(1)具有友好输入输出界面;

(2)可根据输入的不同参数值,查看结果。

参考:

《物理光学》椭圆偏振光

1.2.课题分析及设计思路

1.3.系统设计(建模)

functionvarargout=wxy3(varargin)

gui_Singleton=1;

gui_State=struct('gui_Name',mfilename,...

'gui_Singleton',gui_Singleton,...

'gui_OpeningFcn',@wxy3_OpeningFcn,...

'gui_OutputFcn',@wxy3_OutputFcn,...

'gui_LayoutFcn',[],...

'gui_Callback',[]);

ifnargin&&ischar(varargin{1})

gui_State.gui_Callback=str2func(varargin{1});

end

ifnargout

[varargout{1:

nargout}]=gui_mainfcn(gui_State,varargin{:

});

else

gui_mainfcn(gui_State,varargin{:

});

end

functionwxy3_OpeningFcn(hObject,eventdata,handles,varargin)

handles.output=hObject;

guidata(hObject,handles);

functionvarargout=wxy3_OutputFcn(hObject,eventdata,handles)

varargout{1}=handles.output;

functioneditx_Callback(hObject,eventdata,handles)

input=str2num(get(hObject,'String'));

if(isempty(input))

set(hObject,'String','');

end

guidata(hObject,handles);

functioneditx_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionedity_Callback(hObject,eventdata,handles)

input=str2num(get(hObject,'String'));

if(isempty(input))

set(hObject,'String','');

end

guidata(hObject,handles);

functionedity_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

Elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionedita_Callback(hObject,eventdata,handles)

input=str2num(get(hObject,'String'));

if(isempty(input))

set(hObject,'String','');

end

guidata(hObject,handles);

functionedita_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionpushbutton1_Callback(hObject,eventdata,handles)

X=str2num(get(handles.editx,'String'));

Y=str2num(get(handles.edity,'String'));

a=str2num(get(handles.edita,'String'));

symsxy

f=(x./X).^2+(y./Y).^2-2.*(x./X).*(y./Y).*cos(a)-sin(a).*sin(a);

axes(handles.axes1);

ezplot(f,[-2*X,2*X]);

gridon;

guidata(hObject,handles);

functioneditx2_Callback(hObject,eventdata,handles)

functioneditx2_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionedity2_Callback(hObject,eventdata,handles)

functionedity2_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionedita2_Callback(hObject,eventdata,handles)

functionedita2_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionpushbutton2_Callback(hObject,eventdata,handles)

X=str2num(get(handles.editx2,'String'));

Y=str2num(get(handles.edity2,'String'));

a=str2num(get(handles.edita2,'String'));

symsxy

f=(x./X).^2+(y./Y).^2-2.*(x./X).*(y./Y).*cos(a)-sin(a).*sin(a);

axes(handles.axes2);

ezplot(f,[-2*X,2*X]);

gridon;

guidata(hObject,handles);

functionpushbutton3_Callback(hObject,eventdata,handles)

X=str2num(get(handles.editx,'String'));

Y=str2num(get(handles.edity,'String'));

a=str2num(get(handles.edita,'String'));

symsxy

f1=(x./X).^2+(y./Y).^2-2.*(x./X).*(y./Y).*cos(a)-sin(a).*sin(a);

X2=str2num(get(handles.editx2,'String'));

Y=str2num(get(handles.edity2,'String'));

a=str2num(get(handles.edita2,'String'));

symsxy

f2=(x./X2).^2+(y./Y).^2-2.*(x./X2).*(y./Y).*cos(a)-sin(a).*sin(a);

f=f1+f2;

axes(handles.axes3);

ezplot(f,[-2*(X+X2),2*(X+X2)]);

gridon;

guidata(hObject,handles);

1.4.仿真结果与结果分析

二、课题2:

课题名称

2.1.课题任务要求及技术指标

高斯光束特性参数的仿真计算

设计任务:

某平凹腔激光器,若已知凹面镜曲率半径

,腔长

及激光波长

求它所产生的高斯光束的腰斑半径

的大小和位置,以及该高斯光束发散角

的大小。

设计要求:

(1)具有友好输入输出界面;

(2)可改变参数值(曲率半径

,腔长

、激光波长

),查看结果变化情况;

(3)比较所得结果,分析曲率半径、腔长以及激光波长分别对高斯光束的腰斑半径和发散角有何影响。

参考:

《激光原理》高斯光束

2.2.课题分析及设计思路

2.3.系统设计(建模)

functionvarargout=wxy6(varargin)

gui_Singleton=1;

gui_State=struct('gui_Name',mfilename,...

'gui_Singleton',gui_Singleton,...

'gui_OpeningFcn',@wxy6_OpeningFcn,...

'gui_OutputFcn',@wxy6_OutputFcn,...

'gui_LayoutFcn',[],...

'gui_Callback',[]);

ifnargin&&ischar(varargin{1})

gui_State.gui_Callback=str2func(varargin{1});

end

ifnargout

[varargout{1:

nargout}]=gui_mainfcn(gui_State,varargin{:

});

else

gui_mainfcn(gui_State,varargin{:

});

end

functionwxy6_OpeningFcn(hObject,~,handles,varargin)

handles.output=hObject;

guidata(hObject,handles);

functionvarargout=wxy6_OutputFcn(~,~,handles)

varargout{1}=handles.output;

functionpopupmenuB_Callback(hObject,~,handles)

index=get(hObject,'Value');

set(handles.uipanelbc,'Visible','off');

switch(index)

case6

set(handles.uipanelbc,'Visible','on');

otherwise

end

functionpopupmenuB_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

End

functioneditR_Callback(hObject,eventdata,handles)

input=str2num(get(hObject,'String'));

if(isempty(input))

set(hObject,'String','');

end

guidata(hObject,handles);

functioneditR_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functioneditL_Callback(hObject,eventdata,handles)

input=str2num(get(hObject,'String'));

if(isempty(input))

set(hObject,'String','');

end

guidata(hObject,handles);

functioneditL_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functioneditW_Callback(hObject,eventdata,handles)

functioneditW_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functioneditJ_Callback(hObject,eventdata,handles)

functioneditJ_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionpushbuttonCalc_Callback(hObject,eventdata,handles)

R=str2double(get(handles.editR,'String'));

L=str2double(get(handles.editL,'String'));

if(isempty(get(handles.editR,'String')))

msgbox('请输入曲率半径','出错...');

elseif(isempty(get(handles.editL,'String')))

msgbox('请输入腔长','出错...');

elseif(R<=L)

msgbox('平凹稳定腔的曲率半径应大于腔长,请重新输入','出错啦...');

set(handles.editR,'String','');

set(handles.editL,'String','')

else

B=0;

index=get(handles.popupmenuB,'Value');

switch(index)

case1

B=441.6;

case2

B=632.8;

case3

B=694.3;

case4

B=1060.0;

case5

B=10600;

case6

B=str2double(get(handles.editB,'String'));

otherwise

end

f=sqrt(L*(R-L));

w=sqrt(f*B*0.000000001/3.14);

j=2*sqrt(B*0.000000001/(3.14*f));

w

j

set(handles.editW,'String',num2str(w));

set(handles.editJ,'String',num2str(j));

guidata(hObject,handles);

end

functioneditB_Callback(hObject,eventdata,handles)

input=str2num(get(hObject,'String'));

if(isempty(input))

set(hObject,'String','');

end

guidata(hObject,handles);

functioneditB_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionpushbuttonwb_Callback(hObject,eventdata,handles)

functioneditR2_Callback(hObject,eventdata,handles)

functioneditR2_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functioneditL2_Callback(hObject,eventdata,handles)

functioneditL2_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

else

set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionpushbutton6_Callback(hObject,eventdata,handles)

functionedit16_Callback(hObject,eventdata,handles)

functionedit16_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionedit17_Callback(hObject,eventdata,handles)

functionedit17_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionedit18_Callback(hObject,eventdata,handles)

functionedit18_CreateFcn(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionedit19_Callback(hObject,eventdata,handles)

ifispc

set(hObject,'BackgroundColor','white');

elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

functionaxes1_CreateFcn(hObject,eventdata,handles)

functioneditB4_Callback(hObject,eventdata,handles)

function

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1