网站大量收购闲置独家精品文档,联系QQ:2885784924

实验_用超松弛迭代法求解接地金属槽内电位分布.docVIP

实验_用超松弛迭代法求解接地金属槽内电位分布.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验_用超松弛迭代法求解接地金属槽内电位分布

用超松弛迭代法求解接地金属槽内电位分布 一、实验内容: 用超松弛迭代法求解接地金属槽内电位的分布。 已知:, 给定边值如图所示。 给定初值: 误差范围: 计算迭代次数,分布。 二.实验设计原理:有限差分法 α称为松弛因子。不同的α值,可以有不同的收敛速度,其值范围一般为1与2之间。通常α会有一个最佳值。最佳α的确定与具体问题有关,显然,如果α选择合适,超松弛迭代法收敛速度最快。 划分网格:节点编号、坐标的形成。 赋初值:随意,尽可能靠近真实解。比如本题u7=2.0,u8=7.5,u9=10。 边界条件:给电位值,找规律。 u1,u2,u3,u4,u6,u11,u12,u13,u14=0; u5,u10,u15=100。 迭代 u7=(u2+u6+u8+u12)/4 ; u8=(u3+u7+u9+u13)/4 ; u9=(u4+u8+u10+u14)/4 。 反复迭代,给定某一误差 有限差分法是基于差分原理的一种数值计算法。其基本思想:将场域离散为许多小网格,应用差分原理,将求解连续函数?的泊松方程的问题换为求解网格节点上?的差分方程组的问题。 编程时已经考虑到题目要求,所以直接将边值编入到程序中,这样可以省略输入,从而直接输入迭代因子进行求解,可以减少编程的难度。这次编程和以前不同的是将数组和正交函数图像结合起来,所以在考虑输入和输出的时候会有一些难度,因为数组是上面是小的而图像上面越在上,代表坐标就越大。所以在输入和输出的时候要谨慎对待。 Editor中源代码为: 1.clc 2.clear 3.close all 4.hx=5; 5.hy=5; 6.v1=ones(hy,hx); 7.v1(hy,:)=ones(1,hx)*100; 8.v1(1,:)=ones(1,hx)*0 9.for i=1:hy; 10.v1(i,1)=0; 11.v1(i,hx)=0; 12.end 13.m=4; 14.w=2/(1+sqrt(1-cos(pi/m)*cos(pi/m))); 15.maxt=1; t=0; 16.v2=v1;n=0 17.while(maxt1e-5) 18.n=n+1 19.maxt=0; 20.for i=2:hy-1 ; 21.for j=2:hx-1 ; 22.v2(i,j)=v1(i,j)+(v1(i,j+1)+v1(i+1,j)+v2(i-1,j)+v2(i,j-1)-4*v1(i,j))*w/4; 23.t=abs(v2(i,j)-v1(i,j)); 24.if(tmaxt) maxt=t; end 25.end 26.end 27.v1=v2; 28.end 29.subplot(1,2,1),mesh(v2) 30.axis([0,5,0,5,0,100]); 31.subplot(1,2,2),contour(v2,20); 三、程序运行界面及结果 电压分布: 改变收敛因子,α取接近1的数,α计算次数越少,迭代效果越好;α越接近2,计算次数越多,迭代效果越差。收敛因子不同,得出的电位不会有很大的差距,只是对迭代的次数会有影响。 四.实验心得与思考 通过设计程序并进行完善调试,我对有限差分法有了进一步的认识,同时也已经掌握超松弛迭代法的运用。对于这一类题型都可以运用同样方法予以解决。 就我个人而言,我觉得自己对matlab的使用还不是很了解,尽管算法能够理解,但真正到了运用的时候仍然在纠结下一句要怎么写。接触这个软件不到半个月,提升空间还有很多。比如在设计迭代时,该怎样命名参数,怎么重复运算。这个题里还涉及了有关x,y的坐标问题,如果再进一步学习,我想会写的再清晰一些。尽管我不清楚最终的结果是否正确,我认为我已经将我所理解的问题表达出来了。我想我会继续思考这个问题,继续完善的。 附:c++代码(用于验证结论) #includeiostream.h #includemath.h void main() { double m[5][5],n[5][5]; int N=0,b=1; int i,j; double e=0.00001; double a=2/(1+sin(3.1415926/4; for(i=0;i=4;i++) for(j=0;j+4;j++) { m[i][j]=0;[i][j]=0; } m[1][4]=100; m[2][4]=100’ m[3][4]=100; n[1][4]=m[1][4]; n[2][4]=m[1][4]; n[3][4]=m[1][4]; for(j=4;j=0;j--) { for(i=0;i=4;i++)

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档