二维边值问题的数值方法(I)(例子为泊松方程)雅克比算法和GS算法以及SOR算法优劣的探究

1.微分方程为

(1)分析:对于此类微分方程,我们可以找到一定的物理意义,即有源(或者汇)的静电场满足的微分方程,又叫泊松方程。因此V应该是有物理意义的,即电势。这个方程我们很容易就可以解出它的解之一为,所以我们可以根据这个解给定它的边界条件,其中给定的边界条件为

①通过代码来说明:

maxgrid=50;V=zeros(maxgrid,maxgrid)%我们对研究的对象V建立一个50×50的矩阵。

y=linspace(-10,10,50);%其中我们让这个矩阵对-1010进行等间距划分。

t=400+4.*y.*y;%通过这个解我们就可以给出分别在处的边界条件。

V(:,1)=t;V(:,maxgrid)=t;V(1,:)=t;V(maxgrid,:)=t;%对边界条件进行代入。

②求解这个问题我们的目标就是通过这些边界条件和满足的微分方程,把其他的V中的矩阵元素找到,就解完了。

程序源代码:

clear

maxgrid=50;V=zeros(maxgrid,maxgrid);V2=zeros(maxgrid,maxgrid);%alpha=1.2;%2/(1+pi/maxgrid);

%x=linspace(-10,10,50);

y=linspace(-10,10,50);

dy=y(2)-y(1);

t=400+4.*y.*y;

V(:,1)=t;V(:,maxgrid)=t;V(1,:)=t;V(maxgrid,:)=t;  %初始化的过程

step=1;DV=10;                                            %设定的两个循环参数的初值

while step<100000000&&DV>1e-5                         %为后续比较三种算法的效率我们将循环条件调成现在这样

   V2=V;

   for i=2:maxgrid-1

   for j=2:maxgrid-1

      V2(i,j)=0.25*(V2(i-1,j)+V2(i+1,j)+V2(i,j-1)+V2(i,j+1)-16*dy*dy); %单独使用为GS方法

      %V2(i,j)=0.25*(V(i-1,j)+V(i+1,j)+V(i,j-1)+V(i,j+1)-16*dy*dy);%单独使用为J方法

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值