Изначальное задание: Построить разностную схему со вторым порядком аппроксимации и найти ее решение при различных значениях
![$h$ $h$](https://dxdy-03.korotkov.co.uk/f/2/a/d/2ad9d098b937e46f9f58968551adac5782.png)
:
![$u^{(4)}+\alpha u = \cos(x^2), \newline u(0)=0, u(1)=1, u'(1)=-1, u''(1)=0 $ $u^{(4)}+\alpha u = \cos(x^2), \newline u(0)=0, u(1)=1, u'(1)=-1, u''(1)=0 $](https://dxdy-02.korotkov.co.uk/f/d/1/d/d1dfe99cdd7479b285cae784457b343a82.png)
Схему построим следующим образом: пусть отрезок
![$[0,1]$ $[0,1]$](https://dxdy-03.korotkov.co.uk/f/a/c/f/acf5ce819219b95070be2dbeb8a671e982.png)
разбит на
![$N$ $N$](https://dxdy-04.korotkov.co.uk/f/f/9/c/f9c4988898e7f532b9f826a75014ed3c82.png)
равных частей, тогда
![$h=1/N$ $h=1/N$](https://dxdy-04.korotkov.co.uk/f/b/1/7/b17e9d80c266a1230ba267da43537cfe82.png)
. Для аппроксимации четвертой производной используем формулу
![$u^{(4)}(x)\approx \frac{u(x-2h)-4u(x-h)+6u(x)-4u(x+h)+u(x+2h)}{h^4}$ $u^{(4)}(x)\approx \frac{u(x-2h)-4u(x-h)+6u(x)-4u(x+h)+u(x+2h)}{h^4}$](https://dxdy-01.korotkov.co.uk/f/4/7/6/476f1605b0dce609c44965d981049a1682.png)
, она вроде как приближает её со вторым порядком аппроксимации.
У нас есть
![$N+1$ $N+1$](https://dxdy-02.korotkov.co.uk/f/1/d/9/1d9fbd45300f5c63e198fef59879276482.png)
узлов,
![$x_i=\frac{i}{N}, i=0,..,N$ $x_i=\frac{i}{N}, i=0,..,N$](https://dxdy-04.korotkov.co.uk/f/f/0/7/f07b70c90e3be1fa22f417a3b1760a5e82.png)
. Формулу выше мы можем записать только в узлах с номерами
![$i=2,...,N-2$ $i=2,...,N-2$](https://dxdy-03.korotkov.co.uk/f/6/7/1/671ad137dee03b55c48e3c4ccfa6823382.png)
, плюс еще два уравнения граничных условий на значения функции
![$u_0=0, u_N=1.$ $u_0=0, u_N=1.$](https://dxdy-01.korotkov.co.uk/f/0/9/1/091909ea70db2220566a0ecd2f26cbf382.png)
Встает вопрос, как аппроксимировать оставшиеся два граничных условия на правом конце?
Выбрал такой способ: рассмотрим дополнительный узел
![$x_{N+1}$ $x_{N+1}$](https://dxdy-03.korotkov.co.uk/f/6/1/6/6166277a3021dd0dfa76b6ce32e558fb82.png)
. Запишем еще две формулы: приближение первой производной со вторым порядком аппроксимации
![$u'(x)\approx\frac{u(x+h)-u(x-h)}{2h}$ $u'(x)\approx\frac{u(x+h)-u(x-h)}{2h}$](https://dxdy-01.korotkov.co.uk/f/0/7/d/07d8a94a3665f2861bd66b38f53dee0682.png)
, и второй производной
![$u''(x)\approx\frac{u(x-h)-2u(x)+u(x+h)}{h^2}$ $u''(x)\approx\frac{u(x-h)-2u(x)+u(x+h)}{h^2}$](https://dxdy-02.korotkov.co.uk/f/5/5/2/5529d311e09617a03c594d0a0673051a82.png)
. Если записать эти формулы в узле
![$x_N$ $x_N$](https://dxdy-01.korotkov.co.uk/f/4/8/4/484f6b1a45531e16d27b400ed4b8d92382.png)
с использованием дополнительного узла, получим два уравнения:
![$\frac{u_{N+1}-u_{N-1}}{2h}=-1$ $\frac{u_{N+1}-u_{N-1}}{2h}=-1$](https://dxdy-04.korotkov.co.uk/f/7/1/8/718f1dcc3ddbdf381437df369c256b5882.png)
и
![$ \frac{u_{N+1}-2u_N+u_{N-1}}{h^2}=0$ $ \frac{u_{N+1}-2u_N+u_{N-1}}{h^2}=0$](https://dxdy-03.korotkov.co.uk/f/6/7/8/67889cb11ffc383bba40782b0648c1e582.png)
, откуда, выразив значение в дополнительном узле, можем получить еще два уравнения для разностной схемы. Поскольку
![$u_{N+1}=2u_N-u_{N-1}$ $u_{N+1}=2u_N-u_{N-1}$](https://dxdy-03.korotkov.co.uk/f/2/5/5/255f2b8ee221aca3e25dc1ae83dce28b82.png)
и
![$u_{N+1}=u_{N-1}-2h$ $u_{N+1}=u_{N-1}-2h$](https://dxdy-02.korotkov.co.uk/f/1/4/9/149b7b0de004ea906c1f5f241466706b82.png)
, то, приравняв их, получим уравнение
![$u_{N-1}-u_N=h$ $u_{N-1}-u_N=h$](https://dxdy-01.korotkov.co.uk/f/8/8/5/8855ecf41aeeed69d490c417de8d0c9582.png)
. А для получения последнего уравнения запишем формулу для 4-ой производной в узле
![$x_{N-1}$ $x_{N-1}$](https://dxdy-03.korotkov.co.uk/f/2/d/b/2dbe58cba715a8ff3f23f66ba0371d8f82.png)
и выразим участвующее там значение в дополнительном узле, например, как
![$2u_N-u_{N-1}$ $2u_N-u_{N-1}$](https://dxdy-01.korotkov.co.uk/f/c/3/5/c353fcef805bcdd305c6c397d9e1c21382.png)
.
Итак, получившаяся разностная схема:
![$\left\{
\begin{array} {lcl}
u_0=0 \\ \frac{u_{k-2}-4u_{k-1}+6u_k-4u_{k+1}+u_{k+2}}{h^4}+\alpha u_k=\cos(x_k^2), 2\leqslant k\leqslant N-2 \\
\frac{u_{N-3}-4u_{N-2}+5u_{N-1}-2u_N}{h^4}+\alpha u_{N-1}=\cos(x_{N-1}^2) \\ u_{N-1}-u_N=h \\ u_N=1
\end{array}
\right. $ $\left\{
\begin{array} {lcl}
u_0=0 \\ \frac{u_{k-2}-4u_{k-1}+6u_k-4u_{k+1}+u_{k+2}}{h^4}+\alpha u_k=\cos(x_k^2), 2\leqslant k\leqslant N-2 \\
\frac{u_{N-3}-4u_{N-2}+5u_{N-1}-2u_N}{h^4}+\alpha u_{N-1}=\cos(x_{N-1}^2) \\ u_{N-1}-u_N=h \\ u_N=1
\end{array}
\right. $](https://dxdy-01.korotkov.co.uk/f/c/9/7/c97b9553c04de43b9ea969ad68a44b9982.png)
Матрица системы тут получается кривая из-за того, что три граничных условия в единице, и лишь одно в нуле. Но Гауссом ее все же можно решить, собственно в своей программе я это и делаю, получается некоторое численное решение, по виду вроде бы подходящее.
Но чтобы проверить, работает ли метод, давайте на время забудем про
![$\cos(x^2)$ $\cos(x^2)$](https://dxdy-04.korotkov.co.uk/f/3/9/c/39ce576c385d8a67d077145bc82f072d82.png)
и подберем вместо него такую функцию
![$f(x)$ $f(x)$](https://dxdy-04.korotkov.co.uk/f/7/9/9/7997339883ac20f551e7f35efff0a2b982.png)
, чтобы решение краевой задачи можно было найти аналитически. Пусть для простоты
![$\alpha=1.$ $\alpha=1.$](https://dxdy-03.korotkov.co.uk/f/2/c/e/2cecb26f428ba5d24027c4c288e2ece182.png)
Методом подбора: многочлен
![$\frac12 x^3-3x^2+\frac72x$ $\frac12 x^3-3x^2+\frac72x$](https://dxdy-03.korotkov.co.uk/f/2/6/f/26f8fa900190c9ba53e94c45a53b617d82.png)
удовлетворяет краевым условиям задачи, его четвертая производная равна нулю, так что в качестве
![$f(x)$ $f(x)$](https://dxdy-04.korotkov.co.uk/f/7/9/9/7997339883ac20f551e7f35efff0a2b982.png)
получается он сам. Ожидается, что разностная схема, где вместо косинуса стоит этот многочлен, при росте
![$N$ $N$](https://dxdy-04.korotkov.co.uk/f/f/9/c/f9c4988898e7f532b9f826a75014ed3c82.png)
будет сходиться к нему же. Но вот что дает в результате моя программа
![Изображение](https://pp.vk.me/c633929/v633929328/f4ad/ax1jPTectTM.jpg)
Это я в матлабе построил при
![$N=50$ $N=50$](https://dxdy-02.korotkov.co.uk/f/5/b/4/5b47471a116ee9809b39f68989a5903782.png)
график многочлена (зелёный) и график численного решения (синий). Как видно численное сразу растет быстрее многочлена и отклоняется от него примерно на
![$0.2$ $0.2$](https://dxdy-04.korotkov.co.uk/f/3/5/8/358d4d0949e47523757b4bc797ab597e82.png)
, и лишь к концу становится более-менее похожим на многочлен. При увеличении
![$N$ $N$](https://dxdy-04.korotkov.co.uk/f/f/9/c/f9c4988898e7f532b9f826a75014ed3c82.png)
картина такая же - численное решение отклоняется примерно на
![$0.2$ $0.2$](https://dxdy-04.korotkov.co.uk/f/3/5/8/358d4d0949e47523757b4bc797ab597e82.png)
.
Собственно, вопрос, в чем дело? Очень хотелось бы, чтоб ошибка была в программе, хотя я уже несколько раз проверял. Другой вопрос, может быть решение данной схемы и вовсе не должно с ростом
![$N$ $N$](https://dxdy-04.korotkov.co.uk/f/f/9/c/f9c4988898e7f532b9f826a75014ed3c82.png)
приближать многочлен? Или, у данной краевой задачи есть другое решение, кроме этого многочлена, и схема находит его? Как я понял из теории, схема все-таки должна сходиться. Тогда, может она составлена неправильно?
Буду благодарен за любые идеи, в чем может быть проблема.