4 курс_1 / Мат.мод 313 / Лабораторная5
.doc>> u=func(6,6,0.01)
u =
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.5000 0.5000 0.5000 0.5000 1.0000
0 0.5000 0.5000 0.5000 0.5000 1.0000
0 0.5000 0.5000 0.5000 0.5000 1.0000
0 0.5000 0.5000 0.5000 0.5000 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
fdef =
0.5000 0.5000 0.5000 0.5000
0.5000 0.5000 0.5000 0.5000
0.5000 0.5000 0.5000 0.5000
0.5000 0.5000 0.5000 0.5000
f =
0.3000 0.4750 0.5250 0.7000
0.3750 0.5000 0.5000 0.6250
0.3750 0.5000 0.5000 0.6250
0.3000 0.4750 0.5250 0.7000
fdef =
0.2000 0.0250 0.0250 0.2000
0.1250 0 0 0.1250
0.1250 0 0 0.1250
0.2000 0.0250 0.0250 0.2000
f1 =
0.2625 0.4313 0.5688 0.7375
0.2938 0.4625 0.5375 0.7063
0.2938 0.4625 0.5375 0.7063
0.2625 0.4313 0.5688 0.7375
fdef =
0.0375 0.0438 0.0438 0.0375
0.0813 0.0375 0.0375 0.0813
0.0813 0.0375 0.0375 0.0813
0.0375 0.0438 0.0438 0.0375
umax =
0.0813
f1 =
0.2313 0.4234 0.5766 0.7688
0.2547 0.4313 0.5688 0.7453
0.2547 0.4313 0.5688 0.7453
0.2313 0.4234 0.5766 0.7688
fdef =
0.0313 0.0078 0.0078 0.0313
0.0391 0.0313 0.0313 0.0391
0.0391 0.0313 0.0313 0.0391
0.0313 0.0078 0.0078 0.0313
umax =
0.0391
f1 =
0.2195 0.4098 0.5902 0.7805
0.2293 0.4195 0.5805 0.7707
0.2293 0.4195 0.5805 0.7707
0.2195 0.4098 0.5902 0.7805
fdef =
0.0117 0.0137 0.0137 0.0117
0.0254 0.0117 0.0117 0.0254
0.0254 0.0117 0.0117 0.0254
0.0117 0.0137 0.0137 0.0117
umax =
0.0254
f1 =
0.2098 0.4073 0.5927 0.7902
0.2171 0.4098 0.5902 0.7829
0.2171 0.4098 0.5902 0.7829
0.2098 0.4073 0.5927 0.7902
fdef =
0.0098 0.0024 0.0024 0.0098
0.0122 0.0098 0.0098 0.0122
0.0122 0.0098 0.0098 0.0122
0.0098 0.0024 0.0024 0.0098
umax =
0.0122
f1 =
0.2061 0.4031 0.5969 0.7939
0.2092 0.4061 0.5939 0.7908
0.2092 0.4061 0.5939 0.7908
0.2061 0.4031 0.5969 0.7939
fdef =
0.0037 0.0043 0.0043 0.0037
0.0079 0.0037 0.0037 0.0079
0.0079 0.0037 0.0037 0.0079
0.0037 0.0043 0.0043 0.0037
umax =
0.0079
u =
0 0.2000 0.4000 0.6000 0.8000 1.0000
0 0.2061 0.4031 0.5969 0.7939 1.0000
0 0.2092 0.4061 0.5939 0.7908 1.0000
0 0.2092 0.4061 0.5939 0.7908 1.0000
0 0.2061 0.4031 0.5969 0.7939 1.0000
0 0.2000 0.4000 0.6000 0.8000 1.0000
func
function u=func(m,n,e)
u=zeros(m,n);
f=zeros(m-2,n-2);
f1=zeros(m-2,n-2);
fdef=zeros(m-2,n-2);
usum=0;
for i=1:m
u(i,1)=0;
u(i,m)=1;
usum=usum+u(i,1)+u(i,m);
end
for j=1:n
u(1,j)=0.2*(j-1);
u(n,j)=0.2*(j-1);
usum=usum+u(1,j)+u(n,j);
end
usum=usum-u(1,1)-u(1,n)-u(m,1)-u(m,n);
usum;
qol=2*m+2*(n-2);
sredu=usum/qol;
for i=2:m-1
for j=2:n-1
u(i,j)=sredu;
end
end
u
for i=1:m-2
for j=1:n-2
fdef(i,j)=sredu;
end
end
fdef
for i=1:m-2
for j=1:n-2
f(i,j)=(u(i+2,j+1)+u(i,j+1)+u(i+1,j+2)+u(i+1,j))/4;
end
end
f
for i=1:m-2
for j=1:n-2
fdef(i,j)=abs(f(i,j)-fdef(i,j));
end
end
fdef
for i=2:m-1
for j=2:n-1
u(i,j)=f(i-1,j-1);
end
end
umax=max(max(fdef));
while umax>e
for i=1:m-2
for j=1:n-2
f1(i,j)=(u(i+2,j+1)+u(i,j+1)+u(i+1,j+2)+u(i+1,j))/4;
end
end
f1
for i=1:m-2
for j=1:n-2
fdef(i,j)=abs(f(i,j)-f1(i,j));
f(i,j)=f1(i,j);
end
end
fdef
for i=2:m-1
for j=2:n-1
u(i,j)=f1(i-1,j-1);
end
end
umax=max(max(fdef))
end
surf(u)
function u=func10(m,n,h,e);
u=zeros(m,n);
f=zeros(m-2,n-2);
f1=zeros(m-2,n-2);
fdef=zeros(m-2,n-2);
usum=0;
for i=1:m
u(i,1)=0;
u(i,m)=1;
usum=usum+u(i,1)+u(i,m);
end
for j=1:n
u(1,j)=h*(j-1);
u(n,j)=h*(j-1);
usum=usum+u(1,j)+u(n,j);
end
usum=usum-u(1,1)-u(1,n)-u(m,1)-u(m,n);
qol=2*m+2*(n-2);
sredu=usum/qol;
for i=2:m-1
for j=2:n-1
u(i,j)=sredu;
end
end
for i=1:m-2
for j=1:n-2
fdef(i,j)=sredu;
end
end
for i=1:m-2
for j=1:n-2
f(i,j)=(u(i+2,j+1)+u(i,j+1)+u(i+1,j+2)+u(i+1,j))/4;
end
end
for i=1:m-2
for j=1:n-2
fdef(i,j)=abs(f(i,j)-fdef(i,j));
end
end
for i=2:m-1
for j=2:n-1
u(i,j)=f(i-1,j-1);
end
end
umax=max(max(fdef));
while umax>e
for i=1:m-2
for j=1:n-2
f1(i,j)=(u(i+2,j+1)+u(i,j+1)+u(i+1,j+2)+u(i+1,j))/4;
end
end
for i=1:m-2
for j=1:n-2
fdef(i,j)=abs(f(i,j)-f1(i,j));
f(i,j)=f1(i,j);
end
end
for i=2:m-1
for j=2:n-1
u(i,j)=f1(i-1,j-1);
end
end
umax=max(max(fdef));
end
>> u=func10(6,6,0.2,0.01);
>> surf(u)
>> u=func10(11,11,0.1,0.01);
>> surf(u)
>> u=func10(26,26,0.04,0.01);
>> surf(u)
>> u=func10(51,51,0.02,0.01);
>> surf(u)
