Задача по ЧМам

lodanap

У кого-нибудь была :
y'' + p(x) y' + q(x) y = f(x)
y(0) = a
y(1) = b
методом прогонки?

lodanap

Народ! Ну как она делается? - хотя бы общую схему...

lulka

ну примерно так:
1) находишь частное решение y_1(x) неоднородного ур-ия с условием
y(0)=a
2) находишь частное решение y_2(x) однородного ур-ия с условием y(0)=0
тогда общее решение - y_1(x)+Cy_2(x).
C подбираешь из условия на втором конце. В простонародье это называется метод стрельбы.
для решения ур-ий строишь простейшую разностную схему по троем точкам, получаешь трехдиагональную матрицу, ее решаешь методом прогонки (тот же гаусс без лишних телодвижений).
А вобще: бахв.жидк.коб. глава что-то типа "решение краевых задач для обыкновенных дифуров"

pushist

Я писал кучу таких программ, но исходников нет - всё дома где-то валяется. А схема там такая:
y(i i=0..n - искомое решение разностной задачи:
A(i)*y(i-1)-C(i)*y(i)+B(i)*y(i+1)=-F(i) (*)
(ну типа разностная запись твоего диффура)
Представим y(i) как
y(i-1)=a(i)*y(i)+b(i) (**)
a(i) и b(i) находишь по формуле a(i+1)=B(i)/(C(i)-A(i)*a(i b(i)=(A(i)*b(i)+F(i/(C(i)-A(i)*a(i В твоём случае, вроде a(0)=0, b(0)=(Левое граничное условие)
После того, как вычесленены все a,b кладёшь y(n)=(Правое граничное условие и по ф-ле (**) вычисляешь все y.

lodanap

Ага... Спасибки вам

botya

Если нужно, могу закинуть исходник на Maple как раз для такой задачи.
Оставить комментарий
Имя или ник:
Комментарий: