电磁场与电磁波实验有限差分法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电磁场与电磁波实验报告
实验项目:有限差分法
一、实验目的及要求
1、学习有限差分法的原理与计算步骤;
2、学习用有限差分法解静电场中简单的二维静电场边值问题;
3、学习用Matlab语言描述电磁场与电磁波中内容,用matlab求解问题并用图形表示出了,学习matlab语言在电磁波与电磁场中的编程思路。
二、实验内容
理论学习:学习静电场中边值问题的数值法中的优先差分法的求解知识;
实践学习:学习用matlab语言编写有限差分法计算二维静电场边值问题;
三、实验仪器或软件
Matlab7.0
电脑
四、实验原理
有限差分法的基本思想
将计算场域划分成网格,把求解场域内连续的场分布用求解网格节点上的离散数值解来代替;即用网格节点的差分方程近似代替场域内的偏微分方程来求解。简单迭代法
先对场域内的节点赋予初始值
)(0,j i Φ ,这里上标(0)表示第0次近似值,即初
始值。然后再按照: ][4
1k 1,k ,1k 1,k ,11k ,)()()()()(++--+Φ+Φ+Φ+Φ=Φ
j i j i j i j i j i
进行反复迭代。若当第N 次迭代结束后,所有内节点相邻两次迭代值之间的绝对误差小于事先给定的精度,则迭代停止。
W MAX N j
i N j i 〈Φ-Φ-)()(1,, 注意:
初始值的赋予是任意的;
赋予初始值后,请按“从左到右、从下到上”的固定顺序依次计算各节点值; 当所有节点都算完一遍后,再用它们的新值代替旧值,即完成一次迭代。
五、实验步骤
复习理论知识;
编写matlab 程序;
六、结果分析与问题讨论
1、程序:
clear
X=[0,0,0,0,0;0,25,25,25,0;0,50,50,50,0;0,75,75,75,0;100,100,100,100,100]
Pot=[0,0];
for i=2:4
for j=2:4
PotX(i-1,j-1)=(X(i-1,j)+X(i,j-1)+X(i+1,j)+X(i,j+1))/4 Pot(1)=abs(PotX(i-1,j-1)-X(i,j));
Pot(2)=max(Pot)
end
end
X(2:4,2:4)=PotX
num=1;
while(max(1000.*Pot)>1)
Pot(2)=0; (,1,2,......) (0,1,2,......)
i j k ==
for i=2:4
for j=2:4
PotX(i-1,j-1)=(X(i-1,j)+X(i,j-1)+X(i+1,j)+X(i,j+1))/4 Pot(1)=abs(PotX(i-1,j-1)-X(i,j));
Pot(2)=max(Pot)
end
end
X(2:4,2:4)=PotX
num=num+1
end
surf([0:4],[0:4],X);
shading interp
colorbar('horiz')
title('有限差分法计算电位图');
2、运行结果
X =
0 0 0 0 0
0 25 25 25 0
0 50 50 50 0
0 75 75 75 0
100 100 100 100 100
%%第一次迭代
PotX =
18.7500
Pot =
6.2500 6.2500
PotX =
7.1440 9.8230 7.1440
18.7515 25.0023 18.7515
42.8583 52.6801 42.8583
Pot =
1.0e-003 *
0.3815 0.7629
%%第28次迭代
X =
0 0 0 0 0
0 7.1440 9.8230 7.1440 0
0 18.7515 25.0023 18.7515 0
0 42.8583 52.6801 42.8583 0
100.0000 100.0000 100.0000 100.0000 100.0000
num =
28
3、波形图
matlab软件在使用有限差分法研究静电场边值问题中有着重要的作用,它能够快捷有效并且准确的解决边值问题,是解决计算相对复杂问题的有效工具。由于很久没有用过matlab
程序,忘记了matlab的函数使用和初值定义方法等,导致实验的进度十分缓慢。对于编程思路,理清了有限差分法的概念就使之变得容易很多,所以我复习了优先差分法的求解方法,并自己做了一遍题,思路就有了,后期编程就是要知道运用什么函数就可以了。