MATLAB仿真平面电磁波在不同媒介分界面上的入射Word格式.docx
《MATLAB仿真平面电磁波在不同媒介分界面上的入射Word格式.docx》由会员分享,可在线阅读,更多相关《MATLAB仿真平面电磁波在不同媒介分界面上的入射Word格式.docx(16页珍藏版)》请在冰豆网上搜索。
1垂直极化波
垂直极化波对理想介质斜入射如图所示,由折射和反射定律,我们可以得到在任意媒质中的场强。
在第一煤质中
在第二煤质中
图表2垂直极化波斜入射
2平行极化波
平行极化波对理想介质斜入射如图所示,由折射和反射定律,我们可以得到在任意媒质中的场强。
图表3平行极化波斜入射
3、正弦平面波对理想导体表面的斜入射
垂直极化波对理想导体斜入射如图所示,入射波在导体表面发生全反射,我们可以得到在任意媒质中的场强。
2平行极化波
四、实验程序;
实验程序比较长,可参见此文件夹中的jm.m文件。
(附件)
生成的界面:
五、实验总结;
这次实验总体感觉收获比较大。
首先,之前学习的MATLAB都是基于图片之类的编程,没有学习过GUI的使用。
通过这次实验,我初步学习了一下GUI,算是现学现卖吧。
虽然学的不是很深,但是对于基本的功能的使用应该还是可以的。
再次,对于电磁场地学习都是停留在书面作业上,通过这次实验,加深了我对电磁场传播的理解。
最后,其实如果只有我一个人,应该是很难完成这次实验的,在这期间有同学的帮忙和合作。
通过这次实验,感受到合作的力量,不懂要问呐。
程序代码:
functionvarargout=jm(varargin)
%JMM-fileforjm.fig
%JM,byitself,createsanewJMorraisestheexisting
%singleton*.
%
%H=JMreturnsthehandletoanewJMorthehandleto
%theexistingsingleton*.
%JM('
CALLBACK'
hObject,eventData,handles,...)callsthelocal
%functionnamedCALLBACKinJM.Mwiththegiveninputarguments.
Property'
'
Value'
...)createsanewJMorraisesthe
%existingsingleton*.Startingfromtheleft,propertyvaluepairsare
%appliedtotheGUIbeforejm_OpeningFcngetscalled.An
%unrecognizedpropertynameorinvalidvaluemakespropertyapplication
%stop.Allinputsarepassedtojm_OpeningFcnviavarargin.
%*SeeGUIOptionsonGUIDE'
sToolsmenu.Choose"
GUIallowsonlyone
%instancetorun(singleton)"
.
%Seealso:
GUIDE,GUIDATA,GUIHANDLES
%Edittheabovetexttomodifytheresponsetohelpjm
%LastModifiedbyGUIDEv2.513-May-201100:
01:
24
%Begininitializationcode-DONOTEDIT
gui_Singleton=1;
gui_State=struct('
gui_Name'
mfilename,...
'
gui_Singleton'
gui_Singleton,...
gui_OpeningFcn'
jm_OpeningFcn,...
gui_OutputFcn'
jm_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{:
%Endinitializationcode-DONOTEDIT
%---Executesjustbeforejmismadevisible.
functionjm_OpeningFcn(hObject,eventdata,handles,varargin)
%Thisfunctionhasnooutputargs,seeOutputFcn.
%hObjecthandletofigure
%eventdatareserved-tobedefinedinafutureversionofMATLAB
%handlesstructurewithhandlesanduserdata(seeGUIDATA)
%varargincommandlineargumentstojm(seeVARARGIN)
%Choosedefaultcommandlineoutputforjm
handles.output=hObject;
%Updatehandlesstructure
guidata(hObject,handles);
%UIWAITmakesjmwaitforuserresponse(seeUIRESUME)
%uiwait(handles.figure1);
%---Outputsfromthisfunctionarereturnedtothecommandline.
functionvarargout=jm_OutputFcn(hObject,eventdata,handles)
%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);
%Getdefaultcommandlineoutputfromhandlesstructure
varargout{1}=handles.output;
%---Executesonbuttonpressinpushbutton1.
functionpushbutton1_Callback(hObject,eventdata,handles)
axes(handles.axes1);
mu1=1;
%c´
Å
µ
¼
Â
Ê
1
mu2=1;
2
w=get(handles.edit5);
w=str2num(w.String);
%¼
«
»
¯
Æ
a=get(handles.edit3);
epsilon1=str2num(a.String);
%½
é
Ö
1µ
Ä
Ï
à
¶
Ô
½
ç
³
£
ý
b=get(handles.edit4);
epsilon2=str2num(b.String)%½
2µ
;
k1=w*sqrt(mu1*epsilon1);
k2=w*sqrt(mu2*epsilon2);
sita=get(handles.edit1);
sita=str2num(sita.String);
sita1=asind(k1*sind(sita)./k2);
xv=0:
pi/10:
20*pi;
ym=xv;
%plot(ym)
er=0.5;
fori=1:
900
yv=sin(xv+pi/30*i);
%%>
>
²
¨
Ð
Î
º
x=-xv*sind(sita);
y=xv*cosd(sita);
x=x+cosd(sita)*yv;
y=y+sind(sita)*yv;
xv1=0:
yv1=sqrt(1-er*er)*sin(xv-pi/30*i);
·
´
É
ä
x1=xv1*sind(sita);
y1=xv1*cosd(sita);
x1=x1-2*cosd(sita)*yv1;
y1=y1+sind(sita)*yv1;
xv2=0:
yv2=er*sin(xv-pi/30*i);
Õ
Û
x2=xv2*sind(sita1);
y2=xv2*cosd(sita1);
x2=x2-cosd(sita1)*yv2;
y2=y2+sind(sita1)*yv2;
%plot(zeros(1:
81))
%plot(-40:
0.01:
40,0)
%holdon
%plot(0,-60:
60)
plot(x,y,x1,y1,x2,-y2,[-5050],[00],'
k'
[00],[-5050],'
);
su=get(handles.edit2);
su=str2num(su.String);
sudu=1/su;
pause(sudu)
functionedit2_Callback(hObject,eventdata,handles)
%hObjecthandletoedit2(seeGCBO)
%Hints:
get(hObject,'
String'
)returnscontentsofedit2astext
%str2double(get(hObject,'
))returnscontentsofedit2asadouble
%---Executesduringobjectcreation,aftersettingallproperties.
functionedit2_CreateFcn(hObject,eventdata,handles)
%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled
%Hint:
editcontrolsusuallyhaveawhitebackgroundonWindows.
%SeeISPCandCOMPUTER.
ifispc&
isequal(get(hObject,'
BackgroundColor'
),get(0,'
defaultUicontrolBackgroundColor'
))
set(hObject,'
white'
%hObjecthandletopushbutton1(seeGCBO)
functionedit3_Callback(hObject,eventdata,handles)
%hObjecthandletoedit3(seeGCBO)
)returnscontentsofedit3astext
))returnscontentsofedit3asadouble
functionedit3_CreateFcn(hObject,eventdata,handles)
functionedit1_Callback(hObject,eventdata,handles)
%hObjecthandletoedit1(seeGCBO)
)returnscontentsofedit1astext
))returnscontentsofedit1asadouble
functionedit1_CreateFcn(hObject,eventdata,handles)
functionedit5_Callback(hObject,eventdata,handles)
functionedit5_CreateFcn(hObject,eventdata,handles)
functionedit8_Callback(hObject,eventdata,handles)
%hObjecthandletoedit8(seeGCBO)
)returnscontentsofedit8astext
))returnscontentsofedit8asadouble
functionedit8_CreateFcn(hObject,eventdata,handles)
functionedit10_Callback(hObject,eventdata,handles)
%handl