2014 dxdy logo

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

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


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 Разностная схема краевой задачи
Сообщение19.12.2015, 21:54 


18/11/12
77
Изначальное задание: Построить разностную схему со вторым порядком аппроксимации и найти ее решение при различных значениях $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 


18/11/12
77
Тема закрыта, неправильно подобрал многочлен. Очень тупая ошибка.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group