1、电磁场与电磁波实验报告 实验项目: _有限差分法 _ _ 班 级 : _ _12 电子 2 _ _ 实验日期 : _ 2014年 12月 23 日 姓 名 : _ _ _陈奋裕 _ _ 学 号 : _ _1215106003 _ 组 员姓名 : _ _ _ _ _ 组员 学号 : _ _ _ 指导教师 : _ _张海 _ 一、实验 目的 及 要求 1、学习有限差分法的原理与计算步骤; 2、学习用有限差分法解静电场中简单的二维静电场边值问题; 3、学习用 Matlab 语言描述电磁场与电磁波中内容,用 matlab 求解问题并用图形表示出了,学习 matlab 语言在电磁波与电磁场中的编程思路。
2、 二、实验内容 理论学习:学习静电场中边值问题的数值法中的优先差分法的求解知识; 实践学习:学习用 matlab 语言编写有限差分法计算二维静电场边值问题; 三、实验仪器或 软件 电脑( WIN7)、 Matlab7.11 四、实验原理 基本思想是把连续的定解 区域用有限个 离散点 构成的网格来代替, 这些离散点称作网格的节点;把连续定解区域上的 连续变量 的 函数 用在网格上定义的 离散变量 函数来近似;把原方程和定解条件中的 微商 用 差商 来近似, 积分用积分和来近似,于是原 微分方程 和定解条件就近似地代之以代数 方程组 ,即有限 差分方程 组 , 解此方程组就可以得到原问题在离散点上
3、的近似解。然后再利用 插值 方法便可以从离散解得到 定解问题 在整个区域上的近似解。 简单迭代法: 这一方法的求解过程是,先对场域内的节点赋予迭代初值 (0),ij,这里上标 (0)表示 0 次(初始)近似值。然后 按 Laplace方程 ( k 1 ) ( k ) ( k ) ( k ) ( k ), 1 , , 1 1 , , 11 4i j i j i j i j i j (i,j=1,2, ) 进行反复迭代( k=0, 1,2,)。若当第 N次迭代以后,所有的内节点的相邻两次迭代值之间的最大误差不超过允许范围,即 ( N ) ( N - 1 ),m a x | - |Accuracy)
4、 v_pre=v; t=t+1; for i=2:x-1 for j=2:y-1 v(i,j)=(v_pre(i-1,j)+v_pre(i,j-1)+v_pre(i+1,j)+v_pre(i,j+1)/4; end end end %输出 fprintf(节点电势值矩阵: n); disp(fliplr(flipud(v); fprintf(迭迭代次数 :%dn,t); %绘制等势线 contour(v,hv,linewidth,2); axis(0.5 x+0.5 0.5 y+0.5); hold on; plot(1,1,x,x,1,1,y,y,1,1,k,linewidth,2); te
5、xt(x+1)/2,0.8,0V,fontsize,11); text(x+1)/2,y+0.2,100V,fontsize,11); text(0.7,(y+1)/2,0V,fontsize,11); text(x+0.1,(y+1)/2,0V,fontsize,11); title(无限长直金属槽的等势线图 ,fontsize,16,color,k); hold off; 输出结果: 0V100V0V 0V无限长直金属槽的等势线图0 . 5 1 1 . 5 2 2 . 5 3 3 . 5 4 4 . 5 5 5 . 50 . 511 . 522 . 533 . 544 . 555 . 5可见点数太少,等势线不够平滑。重新设置步长 hx=0.1;%设置 x 步长 hy=0.1;%设置 y 步长 可得下图: 无限长直金属槽的等势线图0V100V0V 0V相对可以得出比较准确的等势线图。当然,这里也可以通过插值的方法实现。 2.算法比较 以允许误差为 0.001 为准,将场域 16 等分。 输出如下: 可见迭代次数为 28 次。 发现迭代次数明显减少了。