ImageVerifierCode 换一换
格式:DOCX , 页数:15 ,大小:210.12KB ,
资源ID:10662380      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-10662380.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(工程电磁场报告.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

工程电磁场报告.docx

1、工程电磁场报告工程电磁场报告迭代法求电位分布2010/4/20808190246吴鹏工程电磁场报告 -迭代法在计算电位中的应用所谓迭代法,是一种不断用变量的旧值递推新值的过程,跟迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题。迭代法又分为精确迭代和近似迭代。“二分法”和“牛顿迭代法”属于近似迭代法。迭代算法是用计算机解决问题的一种基本方法。它利用计算机运算速度快、适合做重复性操作的特点,让计算机对一组指令(或一定步骤)进行重复执行,在每次执行这组指令(或这些步骤)时,都从变量的原值推出它的一个新值。在这次实验中是利用迭代法求出在二维场中的电位分布,相对于其他求解方法,虽然精确度存

2、在误差,但是简单易行,充分利用计算机的高效,可以很快的得出大致的电位分布。实验采用的是C+语言进行辅助。一、 初试牛刀-计算55的电位分布;这个实验是用于实现超松弛法来求节点电位,考虑到要求的场是二维分布的,所以构造的基本数据为二维数组,套用的迭代公式为:aij=bij+( /4)*(bi+1j+bij+1+ai-1j+aij-1-4*bij);迭代因子为,可根据经验公式算出,直接赋值,考虑到计算机的高效性,在此可任取一大于1小于2的数,最后均能得出答案,只是迭代次数有所差异。该实验的方框图如下 N Y Y实现该功能的源程序如下:#include#include#includevoid mai

3、n() double a55; double b55; int i=0,j=0; static int M=0; bool N=true; for(j=1;j=3;j+) for(i=1;i=3;i+) aij=0; for(j=0;j=4;j+) a4j=0; a0j=100; for(i=1;i=4;i+) ai0=0; ai4=0; cout各内节点上电位的初始迭代值为:endl;/输出初始迭代值 for(i=0;i=4;i+) for(j=0;j=4;j+) coutaij ; coutendl; coutn; do for(i=0;i=4;i+) for(j=0;j=4;j+) bi

4、j=aij; for(i=1;i=3;i+) for(j=1;j=3;j+) aij=bij+(1.2/4)*(bi+1j+bij+1+ai-1j+aij-1-4*bij); for(i=1;i=3;i+) for(j=1;j0.00001) N=true; break; else N=false; M+; while(N); cout经迭代后,各节点电位的近似值为:endl; for(i=0;i=4;i+) for(j=0;j=4;j+) coutsetiosflags(ios:fixed)setprecision(5)aij ; coutendl; coutendl; cout迭代次数Me

5、ndlendl;程序很短,但是实现了要求的功能,经运行可得出结果:电位大概的分布如左图所示,可以看出还是比较符合的。在这个实验中要注意几点:首先是要选取合适的数据类型,如果采用了int型,会对结果造成很大的影响;其次是对精度的控制,否则会影响迭代次数和结果;再次就是迭代公式要熟悉,把它转换为计算机语言。总之这个实验算是一个练手,为下一步的实验打下基础。搞清楚这个实验的原理和方法,很容易得出下一个实验的操作过程。二、 实战演练-用迭代法求出对称场中的点位分布。其实这一个实验和上一个是大同小异,只是要考虑最中间一行的迭代关系,这很重要,否则会出现中间两行没有进行迭代的情况。作出左边一半后,直接再用

6、C+给另外一半赋予与左侧相对称的值即可。试验设计的方框图如下图所示: Y实验源程序如下:#include#include#include#includevoid main() double a4020; /定义数组a,用于存放初始迭代值 double b4020; /定义数组b,用于和数组a进行比较,以确定是否达到实验进度 double c4040; int i=0,j=0; bool M; static int N=0; /定义静态变量,记录迭代的次数 ifstream infile(test.txt,ios:noreplace); ofstream outfile; outfile.ope

7、n(test.txt); for(i=1;i40;i+) /为内节点赋初始迭代值 for(j=1;j20;j+) aij=2.5*(j-1); for(i=1;i40;i+)/为左边界赋初始迭代值 ai0=0; for(j=0;j20;j+) /为上下边界赋值 a0j=100; a39j=0; cout初始迭代值为:endl; outfile初始迭代值为:endl; for(i=0;i40;i+) for(j=0;j20;j+) outfileaij ; /输出到文件 coutaij ; /输出数组 coutendl; outfileendl; do /开始进行迭代 for(i=0;i40;i

8、+) /先将a数组前一次复制到b数组,便于精度比较 for(j=0;j20;j+) bij=aij; for(i=1;i=38;i+) for(j=1;j=18;j+) /套用迭代公式,去迭代因数为1.5 aij=bij+(1.5/4)*(bi+1j+bij+1+ai-1j+aij-1-4*bij); ai19=0.25*(ai-119+ai18+bi+119+ai18); for(i=1;i=38;i+) /比较是否达到精度要求 for(j=1;j0.00001) M=true; break; else M=false; N+; /完成一次迭代,迭代次数+1 while(M); for(i=

9、0;i=39;i+) /将另外对称部分镜像出来 for(j=0;j=19;j+) cij=aij; ci39-j=aij; coutendl; cout经过的迭代次数为:Nendl; outfile经过的迭代次数为:Nendl; coutendl; cout经过迭代后,各节点电位的近似值为:endl; outfile经过迭代后,各节点电位的近似值为:endl; for(i=0;i=39;i+) for(j=0;j=39;j+) coutsetiosflags(ios:fixed)setprecision(5)cij ; outfilesetiosflags(ios:fixed)setpreci

10、sion(5)cij ; coutn; coutn; outfileendl; infile.close(); outfile.close(); cout实验数据太多,已存放源程序目录下,名为“test.txt”; coutn;coutn;将输出数据全部导出到文件中,再利用excel制作表格,可得到比较好的数据分布图,如左图。可看出数据越多,图表越是精确,基本上可以反映出电位分布情况。这和用软件模拟的效果很是相似。实验总结:经过了这次试验,让我对迭代法有了一个更深入的认识,领略到了计算机带来的方便,对于一些抽象的东西,充分利用计算机,让我们直观的看到了电位分布,这是很便捷的,相信在经过一段时间的学习之后,能更有效地利用现代的手段进行辅助学习。迭代法的巧妙利用能解决许多问题,它虽然要重复很多次,但计算简便,就相对于精度要求不高的定性分析,是一种很有效的解决方法。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2