Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЧМ (МП-3) / Курсовые / mpm_10a / Курсовая работа по МПМ Вариант 10.doc
Скачиваний:
87
Добавлен:
17.04.2013
Размер:
308.74 Кб
Скачать

Сравнение явной и неявной схем с модельной задачей.

Для сравнения решения явной и неявной схем с модельной задачей используем следующий метод.

Берем матрицу решения явной схемы или матрицу такой же размерности решения неявной схемы и поэлементно сравниваем с матрицей модельной функции. Находим максимальное расхождение. Затем, увеличивая размерность матриц, снова сравниваем их и так далее. При увеличении разбиения решения явной и неявной разностных схем стремятся к решению исходной краевой задачи.

Модельная функция-.

Размерность U : 100x110 ; 200x210 ; 300x310.

Таблица норм сравнения для явной и неявной схем.

NORMA(U1я-F)

NORMA(U2я-F)

NORMA(U3я-F)

4,3144*10-5

1,2321*10-5

5,7523*10-6

NORMA(U1н-F)

NORMA(U2н-F)

NORMA(U3н-F)

0,0803

0,0421

0,0285

Приложение

Текст функции, вычисляющий матрицу решения размерностью MxN, для явной схемы:

function [Q]=yavn(N,M);

h=1/N;

t=1/M;

G=t/h;

U=zeros(N+1,M+1);

for i=1:N

U(i,1)=p_(i,h);

end;

for j=1:M+1

U(N+1,j)=l_(j,t);

end;

U(1,2)=(1-G*G)*U(1,1)+G*G*(U(2,1)-h*q_(1,t))+t*k_(1,h)+(t/2)*t*fnc(1,1,h,t);

for i=2:N

U(i,2)=t*k_(i,h)+(G*G)*(1/2)*(U(i-1,1)+U(i+1,1))+(1-G*G)*U(i,1)+(t/2)*t*fnc(i,1,h,t);

end;

for j=3:M+1

U(1,j)=2*(1-G*G)*U(1,j-1)+2*G*G*(U(2,j-1)-h*q_(j-1,t))+t*t*fnc(1,j-1,h,t)-U(1,j-2);

for i=2:N

U(i,j)=2*(1-G*G)*U(i,j-1)+G*G*(U(i-1,j-1)+U(i+1,j-1))+t*t*fnc(i,j-1,h,t)-U(i,j-2);

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

plot(Q);

pause;

mesh(U);

Текст функции, вычисляющий матрицу решения размерностью MxN для неявной схемы:

function [Q]=neyavn(N,M);

h=1/N;

t=1/M;

G=t/h;

U=zeros(N+1,M+1);

for i=1:N

U(i,1)=p_(i,h);

end;

for j=1:M+1

U(N+1,j)=l_(j,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=2*U(1,1)+t*t*fnc(1,1,h,t)+2*t*k_(1,h)-2*G*G*q_(1,t)*h;

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

plot(Q);

pause;

mesh(U);

Список литературы

  1. Долголаптев В.Г., Земсков В.Н. Численные методы решения разностных уравнений математической физики. Методические указания к курсовой работе по высшей математике. /Под ред. А.В. Ефимова. – М.: Изд. МИЭТа, 1987. – 66 с.

  1. Земсков В.Н., Хахалин С.Я. Метод сеток. Методические указания к выполнению курсовой работы на персональном компьютере. – М.: МИЭТ, 1998. – 64 с.: ил.

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