-
. z.
工 程 电 磁 场
实验报告
——有限差分法
用超松弛迭代法求解
接地金属槽内电位的分布
=
V
100
j
一、实验要求
按对称场
-
. z.
工 程 电 磁 场
实验报告
——有限差分法
用超松弛迭代法求解
接地金属槽内电位的分布
=
V
100
j
一、实验要求
按对称场差分格式求解电位的分布
已知:
给定边值:如图1-7示 图1-7接地金属槽内半场域的网格
给定初值
误范围差:
计算:迭代次数,,将计算结果保存到文件中
实验思想
-
. z.
有限差分法
有限差分法(Finite Differential Method)是基于差分原理的一种数值计算法。其基本思想:将场域离散为许多小网格,应用差分原理,将求解连续函数的泊松方程的问题转换为求解网格节点上的差分方程组的问题。
泊松方程的五点差分格式
当场域中得到拉普拉斯方程的五点差分格式
图1-4 高斯——赛德尔迭代法
差分方程组的求解方法
(1) 高斯——赛德尔迭代法
(1-14)
式中:
· 迭代顺序可按先行后列,或先列后行进行。
· 迭代过程遇到边界节点时,代入边界值或边界差分
格式,直到所有节点电位满足为止。
(2)超松弛迭代法
(1-15)
式中:——加速收敛因子
可见:迭代收敛的速度与有明显关系
程序源代码
*include<>
*include<>
*include<>
double A[5][5];
-
. z.
void main(void)
{
double BJ[5][5];//数组B用于比较电势
int s[100];//用于储存迭代次数
double d[100];//用于记录所有的加速因子
d[0]=;
int i,j,N=0,M=0,*;
for(i=0;i<100;i++)
d[i]=*i+d[0];//!
double w[100][10];
int P,Q;
for(P=0;P<4;P++)
for(Q=0;Q<5;Q++)
A[P][Q]=0;
for(P=0;P<5;P++)
A[4][P]=100;
cout<<"数组A的所有元素是:"<<endl;
for(i=0;i<5;i++)
for(j=0;j<5;j++)
{
cout<<A[i][j]<<setw(6);
if((5*i+j+1)%5==0)
-
. z.
cout<<'\n';
}
int pp=0;
for(*=0;*<100;*++)
{
有限差分法实验报告 来自淘豆网m.daumloan.com转载请标明出处.