Добавил:
Студент, если у тебя есть завалявшиеся работы, то не стесняйся, загрузи их на СтудентФайлс! Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4 курс_1 / Мат.мод 313 / Лабораторная5

.doc
Скачиваний:
8
Добавлен:
22.08.2022
Размер:
486.4 Кб
Скачать

>> 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)

Соседние файлы в папке Мат.мод 313