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

上传人:b****3 文档编号:26571654 上传时间:2023-06-20 格式:DOCX 页数:12 大小:590.50KB
下载 相关 举报
试验用超松弛迭代法求解接地金属槽内电位分布.docx_第1页
第1页 / 共12页
试验用超松弛迭代法求解接地金属槽内电位分布.docx_第2页
第2页 / 共12页
试验用超松弛迭代法求解接地金属槽内电位分布.docx_第3页
第3页 / 共12页
试验用超松弛迭代法求解接地金属槽内电位分布.docx_第4页
第4页 / 共12页
试验用超松弛迭代法求解接地金属槽内电位分布.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

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

《试验用超松弛迭代法求解接地金属槽内电位分布.docx》由会员分享,可在线阅读,更多相关《试验用超松弛迭代法求解接地金属槽内电位分布.docx(12页珍藏版)》请在冰豆网上搜索。

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

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

用超松弛迭代法求解接地金属槽内电位分布

、实验内容:

用超松弛迭代法求解接地金属槽内电位的分布。

已知:

a=4cm,h=a/4=10mm给定边值如图所示。

给定初值:

专?

=0

误差范围:

.’lo^=0

计算迭代次数,化j分布。

0

.实验设计原理:

有限差分法

C*=C+a<|C/)

=弟+彳(C1J-十殆+i+Cty+欄1—40]-祁耳J)

a称为松弛因子。

不同的a值,可以有不同的收敛速度,其值范围一般为1与2之间。

通常a会有一个最佳值。

最佳a的确定与具体问题有关,显然,如果a选择合适,超松弛迭代法收敛速度最快。

开始

 

赋边界值、计算精度和场域内各节点函数初始值

(1)划分网格:

节点编号、坐标的形成。

(2)赋初值:

随意,尽可能靠近真实解。

比如本题u7=2.0,u8=7.5,u9=10

(3)边界条件:

给电位值,找规律。

u1,u2,u3,u4,u6,u11,u12,u13,u14=0;

u5,u10,u15=100。

(4)迭代u7=(u2+u6+u8+u12)/4;

u8=(u3+u7+u9+u13)/4;u9=(u4+u8+u10+u14)/4

(5)反复迭代,给定某一误差

Max—錯Z|

有限差分法是基于差分原理的一种数值计算法。

其基本思想:

将场域离散为许多小网格,应用差分原理,将求解连续函数?

的泊松方程的问题换为求解网格节点上?

的差分方程组的问题。

编程时已经考虑到题目要求,

所以直接将边值编入到程序中,这

样可以省略输入,从而直接输入迭代因子进行求解,可以减少编程的难度。

这次编程和以前不同的是将数组和正交函数

图像结合起来,所以在考虑输入和输出的时候会有一些难度,因为数组是上面是小的而图像上面越在上,代表坐标就

越大。

所以在输入和输出的时候要谨慎对待

FifeiEditTwcl:

5CdlTodsDehjgDesktepWifdDwHdp也■X

ET0£l'll*CJl'世Slack:

(hwA

3IC51□

1-U++|11x|密密Q

】-

clc

■—ar

5-

clear

3-

closeall

4-

虻弓:

氓餐询丽絆詡

5-

M;*礎:

巧向冃紳調

«-

vLnnus向,fa);诡#2鞫姑WiiJlI

B-

71际:

:

'=xhs疗曲IE

71忆:

曲叭:

工讷娟爭睡

faii=l:

hr

Lfi-

■.Ki,l)=DW删

L]-

■.Ki.fc:

-:

.l皿瞬剋

L2-

end

L3-

1=4:

L4-

r=2/H+sqrt;L-casipi/i:

'cas(pi/i)\\

LS-

tai-L.r=C'、SffW體刪丈ftl*星

LE-

1T-

lf^)1獄聽为】

LB-

r^l唏耳朗黯

W-

mht=D:

沁l=2:

hr-L;淑:

鬆■市僭

31-

fai尸2:

hi-L;*.贮JfcE列個幵

22-

'卫忆1l?

jl+6rl(i.j-^Lj+vli14-1,j*2(i-l,jj-l)-!

1"!

Ci?

jj)刖4

di

33

、册IM

汉-

25-

LfU>iarti,i^t=■:

wd

〔也;:

•Bl)

篇-

end

2®-

好毗;

a■

end

30■

suhphtl'l^,l]Pudi(vf)、画三笫曲®H

soripiLn5Cdl£

IM

Editor中源代码为:

1.clc

2.clear

3.closeall

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.fori=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(maxt>1e-5)

18.n=n+1

19.maxt=0;

20.fori=2:

hy-1;

21.forj=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(t>maxt)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);

CommandWindow

Fl.—

4

n=

5

rt_

6

11■

7

n■

ii■

y

*

 

CommandWindow

s

n—

9

n

ia

m—

11

±-B=■

12

n—

13

*

 

三、程序运行界面及结果

电压分布:

 

 

 

改变收敛因子,a取接近1的数,a计算次数越少,迭代效果越好;a越接近2,计算次数越多,迭代效果越差。

收敛因子不同,得出的电位不会有很大的差距,只是对迭代的次数会有影响。

四.实验心得与思考

通过设计程序并进行完善调试,我对有限差分法有了进一步的认识,同时也已经掌握超松弛迭代法的运用。

对于这一类题型都可以运用同样方法予以解决。

就我个人而言,我觉得自己对matlab的使用还不是很了解,尽管算法能够理解,但真正到了运用的时候仍然在纠结下一句要怎么写。

接触这个软件不到半个月,提升空间还有很多。

比如在设计迭代时,该怎样命名参数,怎么重复运算。

这个题里还涉及了有关x,y的坐标问题,如果再进一步学习,我想会写的再清晰一些。

尽管我不清楚最终的结果是否正确,我认为我已经将我所理解的问题表达出来了。

想我会继续思考这个问题,继续完善的

附:

C++代码(用于验证结论)

#include

#inClude

voidmain()

{

doublem[5][5],n[5][5];

intN=0,b=1;

inti,j;

doublee=0.00001;

doublea=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++)

Cout<<”m[“<

Cout<

}

while(b==1)

{

b=0;

N=N+1;

for(i=1;i<=3;i++)

for(j=1;j<=3;j++)m[i][j]=m[i][j]+a*(m[i-1][j]+m[i][j-1]+m[i+1][j]+m[i][j+1]-4*m[i][j])/4;

for(i=1;i<=3;i++)

for(j=1;j<=3;j++)

{

if(fabs(m[i][j]-n[i][j]>=e)

b=1;

n[i][j]=m[i][j];

}

}for(j=4;j>=0;j--)

{

for(i=0;i<=4;i++)

cout<<”m[<

}

cout<<”N=”<

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 商务科技

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1