|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 eecsseudl 于 2013-4-29 10:02 编辑
hx=17;hy=11; %设置网格节点数
v1=ones(hy,hx); %设置行列二维数组
%上下两行的Dirichlet边界条件值
v1(hy,:)=ones(1,hx)*100;
v1(1,:)=zeros(1,hx);
%左右两列的Dirichlet边界条件值
for i=1:hy
v1(i,1)=0;
v1(i,hx)=0;
end
v2=v1;maxt=1;t=0; %初始化
k=0
while(maxt>1e-6) %由v1迭代,算出v2,迭代精度为0.000001
k=k+1 %计算迭代次数
maxt=0;
for i=2:hy-1 %从2到hy-1行循环
for j=2:hx-1 %从2到hx-1列循环
v2(i,j)=(v1(i,j+1)+v1(i+1,j)+v2(i-1,j)+v2(i,j-1))/4; %拉普拉斯方程差分式
t=abs(v2(i,j)-v1(i.j));
if(t>maxt) manxt=t;
end
end
end
v1=v2
end
实现的是 Xk+1(i,j)=Xk(i,j+1)+Xk(i,j-1)+Xk(i+1,j)+Xk(i-1,j)的简单迭代法
|
|