2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Разностная схема краевой задачи
Сообщение19.12.2015, 21:54 
Изначальное задание: Построить разностную схему со вторым порядком аппроксимации и найти ее решение при различных значениях $h$:
$u^{(4)}+\alpha u = \cos(x^2), \newline u(0)=0,  u(1)=1, u'(1)=-1, u''(1)=0 $

Схему построим следующим образом: пусть отрезок $[0,1]$ разбит на $N$ равных частей, тогда $h=1/N$. Для аппроксимации четвертой производной используем формулу $u^{(4)}(x)\approx \frac{u(x-2h)-4u(x-h)+6u(x)-4u(x+h)+u(x+2h)}{h^4}$, она вроде как приближает её со вторым порядком аппроксимации.
У нас есть $N+1$ узлов, $x_i=\frac{i}{N}, i=0,..,N$. Формулу выше мы можем записать только в узлах с номерами $i=2,...,N-2$, плюс еще два уравнения граничных условий на значения функции $u_0=0, u_N=1.$
Встает вопрос, как аппроксимировать оставшиеся два граничных условия на правом конце?
Выбрал такой способ: рассмотрим дополнительный узел $x_{N+1}$. Запишем еще две формулы: приближение первой производной со вторым порядком аппроксимации $u'(x)\approx\frac{u(x+h)-u(x-h)}{2h}$, и второй производной $u''(x)\approx\frac{u(x-h)-2u(x)+u(x+h)}{h^2}$. Если записать эти формулы в узле $x_N$ с использованием дополнительного узла, получим два уравнения: $\frac{u_{N+1}-u_{N-1}}{2h}=-1$ и $ \frac{u_{N+1}-2u_N+u_{N-1}}{h^2}=0$, откуда, выразив значение в дополнительном узле, можем получить еще два уравнения для разностной схемы. Поскольку $u_{N+1}=2u_N-u_{N-1}$ и $u_{N+1}=u_{N-1}-2h$, то, приравняв их, получим уравнение $u_{N-1}-u_N=h$. А для получения последнего уравнения запишем формулу для 4-ой производной в узле $x_{N-1}$ и выразим участвующее там значение в дополнительном узле, например, как $2u_N-u_{N-1}$.

Итак, получившаяся разностная схема:

$\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.  $

Матрица системы тут получается кривая из-за того, что три граничных условия в единице, и лишь одно в нуле. Но Гауссом ее все же можно решить, собственно в своей программе я это и делаю, получается некоторое численное решение, по виду вроде бы подходящее.

Но чтобы проверить, работает ли метод, давайте на время забудем про $\cos(x^2)$ и подберем вместо него такую функцию$f(x)$, чтобы решение краевой задачи можно было найти аналитически. Пусть для простоты $\alpha=1.$
Методом подбора: многочлен $\frac12 x^3-3x^2+\frac72x$ удовлетворяет краевым условиям задачи, его четвертая производная равна нулю, так что в качестве $f(x)$ получается он сам. Ожидается, что разностная схема, где вместо косинуса стоит этот многочлен, при росте $N$ будет сходиться к нему же. Но вот что дает в результате моя программа

Изображение

Это я в матлабе построил при $N=50$ график многочлена (зелёный) и график численного решения (синий). Как видно численное сразу растет быстрее многочлена и отклоняется от него примерно на $0.2$, и лишь к концу становится более-менее похожим на многочлен. При увеличении $N$ картина такая же - численное решение отклоняется примерно на $0.2$.

Собственно, вопрос, в чем дело? Очень хотелось бы, чтоб ошибка была в программе, хотя я уже несколько раз проверял. Другой вопрос, может быть решение данной схемы и вовсе не должно с ростом $N$ приближать многочлен? Или, у данной краевой задачи есть другое решение, кроме этого многочлена, и схема находит его? Как я понял из теории, схема все-таки должна сходиться. Тогда, может она составлена неправильно?

Буду благодарен за любые идеи, в чем может быть проблема.

 
 
 
 Re: Разностная схема краевой задачи
Сообщение20.12.2015, 00:26 
Тема закрыта, неправильно подобрал многочлен. Очень тупая ошибка.

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group