2014 dxdy logo

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

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




 
 вопрос по краевой задаче, метод конечных разностей
Сообщение11.12.2009, 22:24 
в общем имеется краевая задача в виде
$y''+p(x)y'+q(x)y=f(x)$
$a\le x\le b$
$a_0y(a)+a_1y'(a)=A$
$b_0y(b)+b_1y'(b)=B$

её надо решить методом конечных разностей

вопрос: что делать если $p(x)$ и/или $q(x)$ и/или $f(x)$ имеют точки разрыва на $[a;b]$ ??
ps и пожалуйста подскажите какую литературу можно о методе почитать

 
 
 
 Re: вопрос по краевой задаче
Сообщение11.12.2009, 22:38 
Пожалуйста, запишите все формулы при помощи $\TeX$а.
В вашем случае это совсем просто и сводится к окружению формул знаками "$" и удалению лишних звездочек. :wink:

 !  Тема перемещена из "Помогите решить (М)" в карантин. В теме Что такое карантин, и что нужно делать, чтобы там оказаться также описано, как исправлять ситуацию.

 
 
 
 Re: вопрос по краевой задаче
Сообщение12.12.2009, 09:37 
 i  Возвращено.

 
 
 
 Re: вопрос по краевой задаче
Сообщение12.12.2009, 11:17 
djonnyk в сообщении #270443 писал(а):
вопрос: что делать если $p(x)$ и/или $q(x)$ и/или $f(x)$ имеют точки разрыва на $[a;b]$ ??


А с точки зрения компьютера, которому говорят значения $p$, $q$ и $f$ лишь в некоторых точках, какая ему разница, разрывные это функции или непрерывные?

 
 
 
 Re: вопрос по краевой задаче
Сообщение12.12.2009, 11:19 
djonnyk в сообщении #270443 писал(а):
что делать если $p(x)$ и/или $q(x)$ и/или $f(x)$ имеют точки разрыва на $[a;b]$ ??

В первом приближении можно не обращать на это внимания. Схема работать будет; правда, будет потеряна точность -- погрешность окажется $O(h)$ вместо стандартного $O(h^2)$.

Во втором -- надо выбирать сетку так, чтобы разрывы попадали на узлы. И описывать сеточные уравнения для именно этих узлов отдельно, сшивая там производные (трёхточечные разностные).
Хотя осознаннее будет выводить всю систему уравнений из вариационного принципа, минимизируя соответствующий квадратичный функционал и аппроксимируя его на сетке формулой трапеций. Только для этого уравнение должно быть задано в "дивергентной" форме: $(\alpha(x)y')'+q(x)y=f(x)$. Кстати, $\alpha(x)$ при вариационном подходе тоже вполне может быть разрывной.

V.V. в сообщении #270560 писал(а):
А с точки зрения компьютера, которому говорят значения $p$, $q$ и $f$ лишь в некоторых точках, какая ему разница, разрывные это функции или непрерывные?

Компьютеру-то до лампочки, ему вообще всё до лампочки. А вот разностной схеме -- не совсем.

 
 
 
 Re: вопрос по краевой задаче
Сообщение12.12.2009, 12:31 
ewert в сообщении #270562 писал(а):
И описывать сеточные уравнения для именно этих узлов отдельно, сшивая там производные (трёхточечные разностные).

обьясните пожалуйста вот сдесь поподробнее

ps я в решении описывал только метод прогонки (без составления системы)
как его модифицировать в этом случае?

 
 
 
 Re: вопрос по краевой задаче
Сообщение12.12.2009, 13:16 
djonnyk в сообщении #270585 писал(а):
ewert в сообщении #270562 писал(а):
И описывать сеточные уравнения для именно этих узлов отдельно, сшивая там производные (трёхточечные разностные).

обьясните пожалуйста вот сдесь поподробнее

Стандартно уравнение в каждом узле аппроксимируется просто заменой каждой производной на соотв. конечноразностную. А если $x_{k}$ -- точка разрыва, то для этого узла надо не уравнение аппроксимировать, а приравнять друг дружке её левую и правую производные (по узлам, соответственно, $x_{k-2},\ x_{k-1},\ x_{k}$ и $x_{k},\ x_{k+1},\ x_{k+2}$.

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

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


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