钟伦利科技创新概论报告Word文档下载推荐.docx
《钟伦利科技创新概论报告Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《钟伦利科技创新概论报告Word文档下载推荐.docx(10页珍藏版)》请在冰豆网上搜索。
目录
一、数值模拟问题1
二、理论算法2
三、程序及模拟结果6
四、对电磁场模拟的理解8
附录:
实验Matlab程序10
一、数值模拟问题
第二题:
一个二维正方形静电场域电位函数为φ(x,y),边界条件如图1.1所示,试用超松弛法确定二维静电场域的电位分布。
二、理论算法
本课题用MATLAB实现了有限差分法解静电场边值问题的算法,将偏微分方程的问题化为线性方程组问题,并使用了迭代法进行线性方程组的数值解。
经典场的边值问题在数学上表达为泊松方程和拉普拉斯方程,但解偏微分方程往往是困难的。
幸而很多时候对于具体问题我们需要的不是解析解,而是数值解,所以可以考虑用连续变量离散化的方法求出数值解,在足够的精度上进行逼进,这就引出了有限差分法。
有限差分法(FiniteDifferentialMethod)是基于差分原理的一种数值计算法。
其基本思想:
将场域离散为许多小网格,应用差分原理,将求解连续函数ϕ的泊松方程的问题换为求解网格节点上ϕ的差分方程组的问题。
三、程序及模拟结果
依据有限差分法的理论知识,以及程序框图,在MATLAB上编写程序(见附录),并且编译,运行,得到二维静电场域的电位分布,如图3.1和图3.2所示。
图3.1三维静电场域的电位分布
图3.2二维静电场域的电位分布
四、对电磁场模拟的理解
在以往的探究过程中我们发现电磁场有:
理论性强、理论模型抽象、无法直观到电磁波的动态变化过程的这些难点。
自从麦克斯韦预言了电磁场的基本方程以及电磁波的存在以来,电磁波就成为了人们认识自然的一种重要工具。
我们通过将肉眼不可见的电磁波进行可视化并进行各方面的应用。
以往我们在研究电磁场和电磁波的空间传播的时候不仅要面对大量繁琐的数学推导过程,而且还有难以绘制的三维图形,往往描绘出来的仅仅是简单的示意图。
而Matlab软件的引入,合理化地解决了这些。
电磁波是时变电磁场相互转换而来的,它在空间中传播的状态时不被我们肉眼所看到,但是可以依靠麦克斯韦方程以及边界调节来模拟出来,有一点必须要提及的是,电磁波是出于被动状态的,它每时每刻的位置都在发生着变化。
这点可以由均匀平面电磁波的电场E的表达式得知:
电场E是沿着正轴Z传播的,它是时间T和变量Z的函数。
行波的动态模拟均匀平面电磁波在无线大理想介质中传播时,能量始终都沿着一个确定的方向传播着,称之为行波。
首先依据EH的参数建立三维坐标系。
因为电场、磁场的方向始终不变,所以使电场的图形与X轴平行,磁场的图形与Y轴平行。
然后,分别以T和Z的自变量,EH的大小为因变量设置双重循环,并根据它们的数值,利用Matlab提供的实现动态动画效果的指令和函数作出动态图形。
但这样得到的效果,只能是两个图形随着时间而移动。
为更形象地表现行波随着传播举例的变化,特设置两个不同质点于电场与磁场的波形上,使它们的移动规律也满足电磁场方程。
这样,就能够通过图形及质点的瞬间变化的样子,再现动态行波了。
由于在入射波的作用下,理想截止I垂直入射到理想导体II表面上时,由于在入射波的作用下,理想导体表面产生了感应电流和感应电荷,这些电流和电荷激发的层次波,在介质I中形成反射波。
入射波与反射波在介质I中叠加,形成驻波。
行波与驻波的一个显著区别在于行波的能量是沿着一个明确的方向传播的,而驻波不能形成电磁能量的传播。
动态模拟驻波形成过程的Matlab程序要计算的是Ei(z,t)、Er(z,t)以及合成波E(z,t)在Matlab命令运行窗口中,我们除了能够看到动态变化的行波和驻波,还能够看到不同的波色彩的变化。
实验Matlab程序
clear
hx=20;
hy=20;
%确定网格
v1=ones(hy,hx);
m=19;
n=19;
fori=1:
hx
v1(1,i)=50;
v1(20,i)=100;
end
forj=1:
hy
v(j,1)=0;
v(j,20)=100;
end
t1=(cos(pi/m)+cos(pi/n))/2;
w=2/(1+sqrt(1-t1^2));
v2=v1;
maxt=1;
t=0;
k=0
while(maxt>
1.0e-06)
k=k+1
maxt=0;
fori=2:
hy-1
forj=2:
hx-1v2(i,j)=v1(i,j)+(v1(i,j+1)+v1(i+1,j)+v2(i-1,j)+v2(i,j-1)-4*v1(i,j))*w/4;
t=abs(v2(i,j)-v1(i,j));
if(t>
maxt)
maxt=t;
end
v1=v2
subplot(1,2,1)
mesh(v2)
subplot(1,2,2)
contour(v2,20)
%holdon
%x=1:
hx;
%y=1:
hy;
%[xx,yy]=meshgrid(x,y);
%[ex,ey]=gradient(v2,0.6,0.6);
%ae=sqrt(ex.^2+ey.^2);
%ex=ex./ae;
%ey=ey./ae;
%quiver(xx,yy,ex,ey,0.7)
%axis([-1.5,hx+2.5,-2,13])
%plot([1,1,hx,hx,1],[1,hy,hy,1,1],'
k'
)