- •Московский Государственный Институт Электронной Техники
- •Теоретические сведения.
- •§1 Классификация задач.
- •§2 Метод сеток.
- •§3 Разностная аппроксимация простейших дифференциальных операторов.
- •Выполнение работы.
- •1. Классификация краевой задачи и её физический смысл
- •2. Решение сеточного уравнения.
- •2.2 Неявная разностная схема.
- •Приложение1.
- •Приложение 2.
- •Приложение 3.
- •Используемая литература
Приложение 2.
Реальная поверхность.
Полученная поверхность.
epsilon = 2.4986e-016 – ошибка при разбиении M=100 и N=20000
epsilon = 9.9920e-016 – ошибка при разбиении M=50 и N=5000
Приложение 3.
Явная схема:
clear
M=10;
N=200;
close all
warning off
h=1/M;
t=1/N;
U=zeros(M+1,N+1);
for i=1:M+1
for j=1:N+1
f(i,j)=8*exp(h*t*(i-1)*(j-1));
end
end
for j=1:N+1
U(M+1,j)=1+((j-1)*t)^2;
end
for i=1:M+1
U(i,1)=1;
end
for j=1:N
U(1,j+1)=2*t/h^2*(U(2,j)-U(1,j))+U(1,j)+t*f(1,j);
for i=2:M
U(i,j+1)=U(i,j)+t/h^2*(U(i-1,j)-2*U(i,j)+U(i+1,j))+t*f(i,j);
end;
end;
m=1;
n=1;
for i=1:M/10:M+1
for j=1:N/10:N+1
result(m,n)=U(i,j);
n=n+1;
end
n=1;
m=m+1;
end
result
u=zeros(M+1,6);
for i=1:M+1,
for j=0:5,
u(i,j+1)=U(i,1+j*N/6);
end
end
i=1:1:M+1;
colormap(pink)
mesh(U)
pause;
colormap('default')
contour(U,10);
pause;
plot((i-1)*h,u)
grid
Неявная схема:
clear
M=10;
N=200;
close all
warning off
h=1/M;
t=1/N;
u=ones(M+1,N+1);
for i=1:M+1
for j=1:N+1
fun(i,j)=8*exp((i-1)*h*(j-1)*t);
end
end
A=zeros(M,1);
C=zeros(M+1,1);
B=A;
A1=A;
F=zeros(M+1,N+1);
B1=F;
for i=1:M-1,
A(i)=1;
B(i+1)=1;
C(i+1)=2+h^2/t;
end;
A(M)=0;
B(1)=1;
C(1)=1+h^2/(2*t);
C(M+1)=1;
A1(1)=B(1)/C(1);
for i=2:M
A1(i)=B(i)/(C(i)-A(i-1)*A1(i-1));
end;
for j=2:N+1,
F(1,j)=h^2/(2*t)*u(1,j-1)+h^2/2*fun(1,j);
B1(1,j)=F(1,j)/C(1);
for i=1:M-1,
F(i+1,j)=h^2*fun(i+1,j-1)+h^2/t*u(i+1,j-1);
end;
F(M+1,j)=1+(t*(j-1))^2;
for i=2:M+1,
B1(i,j)=(F(i,j)+A(i-1)*B1(i-1,j))/(C(i)-A(i-1)*A1(i-1));
end;
u(M+1,j)=B1(M+1,j);
for i=M:-1:1,
u(i,j)=A1(i)*u(i+1,j)+B1(i,j);
end;
end;
m=1;
n=1;
for i=1:M/10:M+1
for j=1:N/10:N+1
result(m,n)=u(i,j);
n=n+1;
end
n=1;
m=m+1;
end
result
U=zeros(M+1,6);
for i=1:M+1,
for j=0:6,
U(i,j+1)=u(i,1+j*N/6);
end
end
i=1:1:M+1;
colormap(pink)
mesh(u)
pause;
colormap('default')
contour(u,10);
pause;
plot((i-1)*h,U)
grid
Используемая литература
Теория разностных схем, Самарский А. А., М., Наука, 1977г.
Численные методы, Калиткин Н. Н., М., Наука, 1978г.
Численные методы решения разностных уравнений мат физики. Долголаптев В. Г., Земсков В. Н., М., МИЭТ, 1987г.
Сборник задач по математике для втузов, т. 4 Методы оптимизации, М., Наука, 1990г.
Методическое пособие по выполнению домашних заданий с использованием ЭВМ “Решение уравнений математической физики методом сеток”, М., МИЭТ, 1976г.
Методы решения сеточных уравнений, Самарский А. А., Николаев Е. С., М., Наука, 1978г.
Прикладные итерационные методы. Хейгеман Л., Янг Л., М., Мир, 1986г.
Матрицы и вычисления., Воеводин В. В., Кузнецов Ю. А., М., Наука, 1984г.