Лекция: Представить алгоритм метода конечных разностей решения уравнения
В методе конечных разностей область непрерывного изменения аргумента заменяют конечным множеством точек. Значение функции заменяется значением так называемой сеточной функции, определенной на этом множестве аргументов.
Задание двухточечной краевой задачи имеет вид:
u’’(x)+q(x)u(x)=f(x), u(a)=ua, u(b)=ub.
Её решение сводится к решению системы алгебраических уравнений вида:
u0=ua;
-ui-1+ui(2+h2qi)-ui+1=h2fi;
un=ub,
где i от 1 до n-1, h — задаваемый шаг.
Данную систему решают чаще всего методом прогонки, который предназначен для решения систем вида:
b0u0+c0u1=d0;
aiui-1+biui+ciui+1=di, i от 1 до n-1;
anun-1+bnun=dn.
Метод прогонки состоит из прямого и обратного хода. На прямом ходе вычисляются прогоночные коэффициенты:
α0=-c0/γ0, β0=d0/γ0, γ0=b0;
αi=-ci/γi, βi=(di-aiβi-1)/γi, γi=bi+aiαi-1, i от 1 до n-1;
βn=(dn-anβn-1)/γn, γn=bn+andn-1.
Значения функции вычисляются на обратном ходе:
un=βn;
ui=αiui+1+βi, i от 0 до n-1.
Решив систему методом прогонки, получают значения функции в узлах сетки.
int n=(int)(10.0/h), m=(int)(5.0/dh)+1;
for (i=0; i<n; i++)
{F[i][0]=15+1/(0.1*dh*i+0.1);
F[i][n]=26.6*cos(dh*i);
}
for (i=0; i<m; i++)F[0][i]=25-5*y;
for (j=1; j<m-1; j++) for (i=0; i<n; i++)
F[i][j+1]=(a*F[i][j-1]-F[i-1][j]+ F [i+1][j] – dh*dh*4*dh*i*dh*j)/a