Приложение
Текст функции,
вычисляющий матрицу решения размерностью
MxN, для явной схемы:
function
[Q]=yavn(M,N);
t=1/N;
h=2*pi/M;
G=t/h;
U=zeros(M+1,N+1);
for
i=1:M+1
U(i,1)=sin(h*(i-1)/2);
end;
for
j=1:N+1
U(1,j)=(j-1)*t;
end;
for
i=2:M
U(i,2)=(1-G*G)*U(i,1)+G*G*1/2*(U(i-1,1)+U(i+1,1))+t*1;
end;
U(M+1,2)=(1-G*G)*U(M+1,1)+G*G*(U(M,2)+h*1)+t*1;
for
j=3:N+1
for
i=2:M
U(i,j)=2*(1-G*G)*U(i,j-1)+G*G*(U(i-1,j-1)+U(i+1,j-1))-U(i,j-2);
end;
U(M+1,j)=2*(1-G*G)*U(M+1,j-1)+G*G*(2*U(M,j-1)+h)-U(M+1,j-2);
end;
Q=zeros(M,N);
for
i=1:M
for
j=1:N
Q(i,j)=U(i,j);
end;
end;
Текст функции,
вычисляющий матрицу решения размерностью
MxN для неявной схемы:
function
[Q]=neyavn(N,M);
t=1/N;
h=2*pi/M;
G=t/h;
U=zeros(M+1,N+1);
for
i=1:M+1
U(i,1)=sin(h*(i-1)/2);
end;
for
j=1:N+1
U(1,j)=(j-1)*t;
end;
alf=zeros(N+1);
bet=zeros(N+1);
b0=2*G*G;
c0=b0+2;
ai=G*G;
bi=ai;
ci=2*ai+2;
f0=sin(h*(i-1)/2)+t;
alf(1)=b0/c0;
bet(1)=f0/c0;
for
i=2:N
fi=2*U(i,1)+t*t*fnc(i,j,h,t)+2*t*k_(i,h);
alf(i)=bi/(ci-ai*alf(i-1));
bet(i)=(fi+ai*bet(i-1))/(ci-ai*alf(i-1));
end
for
i=N:-1:1
U(i,2)=alf(i)*U(i+1,2)+bet(i);
end
b0=2*G*G;
c0=b0+1;
ai=G*G;
bi=ai;
ci=2*ai+1;
for
j=3:M+1
f0=2*U(1,j-1)-U(1,j-2)+t*t*fnc(1,j,h,t)-2*G*G*h*q_(j-1,t);
alf(1)=b0/c0;
bet(1)=f0/c0;
for
i=2:N
fi=2*U(i,j-1)-U(i,j-2)+t*t*fnc(i,j,h,t);
alf(i)=bi/(ci-ai*alf(i-1));
bet(i)=(fi+ai*bet(i-1))/(ci-ai*alf(i-1));
end
for
i=N:-1:1
U(i,j)=alf(i)*U(i+1,j)+bet(i);
end
end
Q=zeros(11,11);
for
i=1:11
for
j=1:11
Q(i,j)=U(((N/10)*(i-1)+1),((M/10)*(j-1)+1));
end
end
Список литературы
Долголаптев В.Г.,
Земсков В.Н. Численные методы решения
разностных уравнений математической
физики. Методические указания к курсовой
работе по высшей математике. /Под ред.
А.В. Ефимова. – М.: Изд. МИЭТа, 1987. – 66 с.
Земсков В.Н.,
Хахалин С.Я. Метод сеток. Методические
указания к выполнению курсовой работы
на персональном компьютере. – М.: МИЭТ,
1998. – 64 с.: ил.