




免费预览已结束,剩余10页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
工程电磁场实验报告 C+编程课题一、用超松弛迭代法求解接地金属槽内电位的分布二、按对称场差分格式求解电位的分布一、用超松弛迭代法求解接地金属槽内电位的分布一、实验原理二、程序框图:三、实验内容:1、用超松弛迭代法求解接地金属槽内点位分布1)内容及要求:2)实验思路:由超松弛迭代法,将网格分成5*5列,边界点正好都是网格的节点,对所有的节点进行编号,并记录节点的坐标位置,并用一个二维数组进行表示u155,此数组表示的是迭代后的值。考虑到迭代前后的数值不一样,再用一个二维数组表示迭代之前的数值u255。运用C+的知识在计算机上将边界值和内节点进行赋值,即将节点离散化。然后开始迭代。迭代开始之前将另一个数组b赋值,用数组a给其赋值,表示迭代之前的值,好用于后面精度的比较。开始进行迭代时,根据超松弛公式将迭代方程编写输入。每次迭代结束后将数组a和数组b对应的值进行比较,即是精度的计算。如果误差大于所规定的误差0.00001,将a的值赋给b,然后继续进行迭代。直到当迭代前后数值误差小于所规定的误差时停止迭代。并比较迭代因子的大小对收敛次数的影响,选取最烧收敛次数的迭代因子作为实验最后的输出结果。最后输出最适合迭代因子、迭代的次数和迭代后各点的电位值。3)程序如下:/*用超松弛迭代法求解接地金属槽内电位的分布*#include#include#includeVoid main()double u155,u255; int flag=1000,i,j,e,n; double a,d;/a最佳加速收敛因子 for(i=0;i5;i+)for(j=0;j5;j+) if(i=0)u1ij=100;else u1ij=0; cout迭代前各电位点上的初始值:endl; for(i=0;i5;i+)for(j=0;j5;j+)coutu1ij ;/输出迭代初值coutendl;coutn;for(d=1;d2;d+=0.01)/找取迭代次数最少的加速收敛因子n=0;for(j=0;j5;j+)u10j=100;for(i=1;i5;i+)for(j=0;j5;j+) u1ij=0;do/迭代x次for(i=0;i5;i+)for(j=0;j5;j+)u2ij=u1ij;for(i=1;i4;i+)for(j=1;j4;j+)u1ij=u2ij+(d/4)*(u2i+1j+u2ij+1+u1i-1j+u1ij-1-4*u2ij); for(i=1;i4;i+)/判断精度for(j=1;j1e-5)e=1; break; else e=0; if(e=1) break; n+;/迭代次数while(e);if(nflag) flag=n; a=d; cout收敛因子:aendl;coutendl;cout迭代次数:flagendl;coutendl;cout各节点上最终电位近似值:endl;for(i=0;i5;i+)for(j=0;j5;j+)coutsetiosflags(ios:fixed)setprecision(5)setw(8)u1ij ;/对齐输出coutendl; coutendl; 4)输出结果:5)总结:最佳收敛因子:1.18此时的最少迭代次数:102、按对称场差分格式求解电位的分布1)内容及要求:2)实验思路:类似与第一题的思路,但只计算一半的区域,对另一半进行对称性计算,减小计算量。选取二维数组,同样是两个数组a4141、b4141,分别用于表示迭代前后的取值。由此对第20列进行特殊处理。即第21列是和第20列相等的,因为在第21列上标注了/x=0,即要求每次迭代后都要求u1i20=u1i19,其余则同前。当计算出了前21列的电位值时,根据对称性可得到右半边的电位值,即要求u1i40-j=u1ij;,直接赋值。同上题一样,此题四周的电位值依旧保持不变,不能够参与迭代。并且中间对称列上的电位值为零,故也不参与迭代。由题意可知,只有第1列到第20列参与迭代。在进行精度计算时,用数组b的值与相应数组a里的值进行比较,没迭代一次都要进行比较。如果在误差允许的范围内,则继续迭代;当超过误差标准的时候则停止迭代。依旧按照比较得到最少收敛次数的方法在程序中计算出最佳收敛因子。然后对对称列右边的点进行对称赋值。最后输出输出最佳迭代因子、迭代的次数和迭代后各相应点的电位值。3)程序如下:/*按对称场差分格式求解电位分布*#include#include#includevoid main()double u14141,u24141;int flag=10000,i,j,e,n;double a,d; /a最佳加速收敛因子for(j=0;j41;j+)u10j=100; u140j=0; for(i=1;i40;i+)u1i0=0; u1i40=0; for(i=1;i40;i+) /内部点赋初值for(j=1;j21;j+)u1ij=2.5*(j-1);cout迭代前左半区域各电位点上的初始值:endl;for(i=0;i41;i+)for(j=0;j21;j+)coutu1ij ; /输出迭代初值coutendl; coutendln;for(d=1;d2;d+=0.01)/找取迭代次数最少的加速收敛因子n=0; for(j=0;j41;j+)u10j=100; u140j=0; for(i=1;i40;i+)u1i0=0; u1i40=0; for(i=1;i40;i+)for(j=1;j21;j+)u1ij=2.5*(j-1); do/迭代x次for(i=0;i41;i+)for(j=0;j22;j+)u2ij=u1ij; for(i=1;i40;i+)for(j=1;j20;j+)u1ij=u2ij+(d/4)*(u2i+1j+u2ij+1+u1i-1j+u1ij-1-4*u2ij); u1i20=u1i19;for(i=1;i40;i+)/判断精度for(j=1;j1e-5)e=1; break; else e=0; if(e=1) break; n+;/迭代次数while(e);if(nflag)flag=n; a=d; for(i=1;i40;i+)/对其对称点赋值 for(j=1;j21;j+) u1i40-j=u1ij; cout迭代后各节点上最终电位近似值:endl;for(i=0;i41;i+)for(j=0;j41;j+)coutsetiosflags(ios:fixed)setprecision(5)setw(8)u1ij ;/对齐输出coutendl; coutendlendl;cout收敛因子:aendl;coutendl;cout迭代次数:flagendl;coutendl;4)输出结果如下:5)总结:最佳收敛因子:1.91此时为最少迭代次数:128四、实验总结与感想:迭代法求解是用于边界条件比较复杂的情况,一般只能用于近似求解。一般的迭代次数都是比较多,不适合人工运算,所以借助计算机进行运算。运用计算机求解一些工程问题,大大减少了人工计算的时间,十分方便。一些软件或编程语言的使用对于工科学生的学习和工作来说十分重要。在本次工程电磁场实验中,我们掌握了Maxwel
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国百货行业发展研究与产业战略规划分析评估报告
- 2025至2030中国生物貂行业产业运行态势及投资规划深度研究报告
- 2025至2030中国玉米淀粉行业发展研究与产业战略规划分析评估报告
- 影楼团队培训课件
- 技术赋能教育实现个性化教学的突破
- 财务报销流程培训
- 教育数据挖掘的潜力学生在多元评价体系中的应用
- 年度培训计划编写课件
- 技术创新助力教育混和教学模式新发展
- 智慧城市服务中智能公共服务设施的可持续发展融资策略
- 2025至2030全球及中国企业文件共享和同步(EFSS)行业产业运行态势及投资规划深度研究报告
- 上海金山区属国有企业招聘笔试真题2024
- 2025至2030中国碳化硅陶瓷膜行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国生石灰行业市场深度调研及发展趋势与投资方向报告
- 一通三防管理课件
- 2025秋二年级上册语文上课课件 2 我是什么
- 胖东来总值班管理制度
- 口腔诊室终末消毒流程
- 2024年广州市荔湾区社区专职招聘考试真题
- 切口感染案例分析
- 2025-2030年中国管道运输行业市场深度分析及发展前景与投资研究报告
评论
0/150
提交评论