Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
103
Добавлен:
17.04.2013
Размер:
4.21 Mб
Скачать

Явная разностная схема:

%~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

clc;

clear;

%~~~~~~~~~~~~~~~Ввести шаг по оси X ~~~~~~~~~~~~~~~~~~~~

M = input('Введите количество узлов по оси X: ');

if((M<2) | (M>90)) %Защита от дурака

return

end

h = 1/(M-1);

fprintf(' Шаг по оси X: %g \n',h);

%~~~~~~~~~~~~~~~Ввести шаг по оси Y ~~~~~~~~~~~~~~~~~~~~

N = input('Введите количество узлов по оси Y: ');

if((N<2) | (N>90)) %Защита от дурака

return

end

t = 1/(N-1);

fprintf(' Шаг по оси Y: %g \n',t);

%~~~~~~~~~~~~~~ Создать матрицy функции U(X,Y)~~~~~~~~~~~

U=zeros(M,N); % Матрица решения

for i=2:M-1

U(i,1) = 20*sin((3*pi/4)*(i-1)*h); % начальные условия

end

U(M,1) = (4/(3*pi*h+4))*U(M-1,1); %Граничное условие 3-го рода

%инициализация первой точки

for i=2:M-1

U(i,2) = U(i,1)+((t^2)/2)*(U(i-1,1)-2*U(i,1)+U(i+1,1))/(h^2);

end

U(M,2) = (4/(3*pi*h+4))*U(M-1,2); %Граничное условие 3-го рода

%~~~~~~~~~~~~~~~~~~~~~~~Считаем~~~~~~~~~~~~~~~~~~~~~~~~~

fprintf('\n Программа работает, подождите...\n');

g = t/h;

for j=2:N-1

fprintf ('¦');

for i=2:M-1

U(i,j+1) = 2*(1-g^2)*U(i,j) + (g^2)*(U(i-1,j)+U(i+1,j))-U(i,j-1);

end

U(M,j+1) = (4/(3*pi*h+4))*U(M-1,j+1); %Граничное условие 3-го рода

end

fprintf('\n');

%------------- Вывод результатов -------------------

x=0:h:1;

y1=0:t:1;

v=[-20:3:20];

for i=1:M

for j=1:N

m(N+1-j,i)=U(i,j);

end

end

%contour(m,v,x,y1)

grid

xlabel('X');

ylabel('T');

pause

disp(m);

%------------- Просмотр в разных ракурсах ------------------------

for t=0:30:270

mesh(0:1/(N-1):1,0:1/(M-1):1,U),grid;

pause

end

for t=1:30:360

mesh(U,[t,0]);

pause

end

clc;

Таблица значений функции для явной схемы

График функции (явная схема)

График функции (неявная разностная схема):

Проверка на устойчивость:

Литература

  1. Долголаптев В.Г., Земсков В.Н. Численные методы решения разностных уравнений математической физики. -М. МИЭТ, 1987. 519.6 (07) Д-64

  2. Самарский А.А. Теория разностных схем. М. :Наука, 1977. 53:51 (075.8)

2

Соседние файлы в папке mpm_7a