微分第二次大实验
贾梦雪 1100500139
微分方程数值解第二章实验
题目:P129 第二题
网格剖分
进行正方形网格剖分,步长分别为0.2、0.1、0.04, 即J=10、20、50时对应的步长。
建立五点差分格式
uxx =(ui-1,j -2*uij +ui+1,j )/h^2;
uyy= (ui,j-1 -2*uij+ui,j+1 )/h^2;
则五点差分格式为:
-1/h^2*(ui-1,j+ui+1,j-4*uij+ui,j-1+ui,j+1)=
2*pi^2*sin(pi*x)*sin(pi*y)
-1
3.求解方程组
其中A为系数矩阵,f=2*pi^2*sin(pi*x)*sin(pi*y)
求解初值u
4.由PR迭代格式求得迭代b次后的u的值,与初值进行比较
1.J=10时 h=0.2
以下为相关程序
>>f=[];
>> for i=1:9
for j=1:9
x=-0.8:0.2:0.8;
y= -0.8:0.2:0.8;
f(end+1)=2*pi*sin(pi*x(i)).*sin(pi*y(j))
end
end
>> f
>> f
f =
Columns 1 through 7
2.1708 3.5124 3.5124 2.1708 0 -2.1708 -3.5124
Columns 8 through 14
-3.5124 -2.1708 3.5124 5.6832 5.6832 3.5124 0
Columns 15 through 21
-3.5124 -5.6832 -5.6832 -3.5124 3.5124 5.6832 5.6832
Columns 22 through 28
3.5124 0 -3.5124 -5.6832 -5.6832 -3.5124 2.1708
Columns 29 through 35
3.5124 3.5124 2.1708 0 -2.1708 -3.5124 -3.5124
Columns 36 through 42
-2.1708 0 0 0 0 0 0
Columns 43 through 49
0 0 0 -2.1708 -3.5124 -3.5124 -2.1708
Columns 50 through 56
0 2.1708 3.5124 3.5124 2.1708 -3.5124 -5.6832
Columns 57 through 63
-5.6832 -3.5124 0 3.5124 5.6832 5.6832 3.5124
Columns 64 through 70
-3.5124 -5.6832 -5.6832 -3.5124 0 3.5124 5.6832
Columns 71 through 77
5.6832 3.5124 -2.1708 -3.5124 -3.5124 -2.1708 0
Columns 78 through 81
2.1708 3.5124 3.5124 2.1708
(2)
>>for i=1:1:9^2
for j=1:1:9^2
if i==j
a(i,j)=4;
end
if (i==j)
if (mod(i,9)==0)&(mod(j,9)==0)
a(i,j+1)=0;
a(i+1,j)=0;
else
a(i,j+1)=-1;
a(i+1,j)=-1;
end
end
if abs(i-j)==9
a(i,j)=-1;
end
end
end
for i=1:9^2
for j=1:9^2
H(i,j)=a(i,j);
end
end
以上程序求得系数矩阵H (由于H的数据太多,就没有粘贴过来)
(3)
>> u=inv(1/0.04*H)*f' %左式求得的u为uh(0)
此程序则求得方程的81个解
>> u'
ans =
Columns 1 through 9