电磁场与电磁波实验有限差分法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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的函数使用和初值定义方法等,导致实验的进度十分缓慢。对于编程思路,理清了有限差分法的概念就使之变得容易很多,所以我复习了优先差分法的求解方法,并自己做了一遍题,思路就有了,后期编程就是要知道运用什么函数就可以了。

相关文档
最新文档