一、实验目的
通过同学自己用 MATLAB 等软件编程计算电磁场问题,使学生掌握电磁场
数值计算的基本思想和方法,掌握 MATLAB 等软件编程技巧,学会用
MATLAB 等软件应用于有限差分法的数值解。
二、实验内容
一个二维静电场,电位函数为 ,边界条件如题 4.29 图所示,将正
方形场域分成 20 个正方形网格。有 16 个内部网格点。假定 16 个网格点
的 初 始 值 都 定 为 零 , 试 用 超 松 弛 法 确 定 16 个 内 网 格 点 的 电 位 值 。
设所有内节点的相邻两次迭代值之间的误差不超过 10
-5
,根据超松弛法公
式 u2(i,j)=u1(i,j)+(u1(i,j+1)+u1(i+1,j)+u2(i-1,j)+u2(i,j-1)-
4*u1(i,j))*a/4 计算出各内网格点的电位值。本实验使用 MATLAB 进行仿
真。
三、实验程序
>> x=6;y=6; %设置网格节点数 6*6=36 个
u1=ones(y,x); %设置行列二位数组
m=5;n=5; %横纵向网格数
u1(y,:)=ones(1,x)*50;
u1(1,:)=ones(1,x)*100; %上下两行条件边界值
for i=1:y %左右两列条件边界值
u1(i,1)=0;
u1(i,x)=100;
end
t1=(cos(pi/m)+cos(pi/n))/2;
a=2/(1+sqrt(1-t1*t1)); %计算松弛因子 a
u2=u1; w=1; t=0;
k=0; %初始化
while(w>1e-5) %由 u1 迭代,算出 u2,迭代精度 w 为 10
-5
k=k+1 %计算迭代次数
评论0