西安交通大学电磁场实验之有限差分法。
hx=41;hy=21;
v1=ones(hy,hx);
v1(hy,:)=ones(1,hx)*100;v1(1,:)=zeros(1,hx);
for i=1:hy
v1(i,1)=0;
v1(i,hx)=0;
end
v2=v1;maxt=1;t=0;k=0;
while(maxt>1e-5)
k=k+1;
maxt=0;
for i=2:hy-1
for j=2:hx-1
v2(i,j)=v1(i,j)+0.437*(v1(i+1,j)+v1(i,j+1)+v2(i-1,j)+v2(i,j-1)-4*v1(i,j));
t=abs(v2(i,j)-v1(i,j));
if(t>0) maxt=t; end
end
end
v1=v2;
end
k
axis([1,41,1,21,0,100])
subplot(1,2,2),contour(v2,5)
hold on
v2(11,9)
jxj=0;
a=20;b=40;
xxx=10;yyy=8;
for i=1:2:7
jxj=jxj+400*(exp(i*pi*xxx/b)-exp(-1*i*pi*xxx/b))*sin(i*pi*yyy/b)/(i*pi*(exp(i*pi*a/b)-exp(-1*i*pi*a/b)));
end
jxj