Метод обсчитан на компьютерах. По нему уже сделано 3 кандидатских физ-мат диссертации.
Метод подходит для любых краевых задач. А для «жестких» краевых задач показано, что метод считает быстрее, чем метод С.К.Годунова до 2-х порядков (в 100 раз), а для некоторых «жестких» краевых задач не требует ортонормирования вовсе. Смотри:
Численный метод переноса краевых условий для жестких дифференциальных уравнений строительной механики
Журнал "ММ", Том: 14 (2002), Номер: 9, 3 стр. 1409-003r.pdf
Полное решение системы дифференциальных уравнений имеет вид
Y(x) = K(x←x ) ∙ Y(x
) + Y*(x←x
) .
Или можно записать:
Y(0) = K(0←x ) ∙ Y(x
) + Y*(0←x
) .
Подставляем это выражение для Y(0) в краевые условия левого края и получаем:
U∙Y(0) = u,
U∙[ K(0←x ) ∙ Y(x
) + Y*(0←x
) ] = u,
[ U∙ K(0←x ) ] ∙ Y(x
) = u - U∙Y*(0←x
) .
Или получаем краевые условия, перенесенные в точку x :
U ∙ Y(x
) = u
,
где U = [ U∙ K(0←x
) ] и u
= u - U∙Y*(0←x
) .
Далее запишем аналогично
Y(x ) = K(x
←x
) ∙ Y(x
) + Y*(x
←x
)
И подставим это выражение для Y(x ) в перенесенные краевые условия точки x
U ∙ Y(x
) = u
,
U ∙ [ K(x
←x
) ∙ Y(x
) + Y*(x
←x
) ] = u
,
[ U ∙ K(x
←x
) ] ∙ Y(x
) = u
- U
∙ Y*(x
←x
) ,
Или получаем краевые условия, перенесенные в точку x :
U ∙ Y(x
) = u
,
где U = [ U
∙ K(x
←x
) ] и u
= u
- U
∙ Y*(x
←x
) .
И так в точку x переносим матричное краевое условие с левого края и таким же образом переносим матричное краевое условие с правого края и получаем:
U ∙ Y(x
) = u
,
V ∙ Y(x
) = v
.
Из этих двух матричных уравнений с прямоугольными горизонтальными матрицами коэффициентов очевидно получаем одну систему линейных алгебраических уравнений с квадратной матрицей коэффициентов:
∙ Y(x
) =
.
А в случае «жестких» дифференциальных уравнений предлагается применять построчное ортонормирование матричных краевых условий в процессе их переноса в рассматриваемую точку. Для этого формулы ортонормирования систем линейных алгебраических уравнений можно взять в [Березин, Жидков].
То есть, получив
U ∙ Y(x
) = u
,
применяем к этой группе линейных алгебраических уравнений построчное ортонормирование и получаем эквивалентное матричное краевое условие:
U ∙ Y(x
) = u
.
И теперь уже в это проортонормированное построчно уравнение подставляем
Y(x ) = K(x
←x
) ∙ Y(x
) + Y*(x
←x
) .
И получаем
U ∙ [ K(x
←x
) ∙ Y(x
) + Y*(x
←x
) ] = u
,
[ U ∙ K(x
←x
) ] ∙ Y(x
) = u
- U
∙ Y*(x
←x
) ,
Или получаем краевые условия, перенесенные в точку x :
U ∙ Y(x
) = u
,
где U = [ U
∙ K(x
←x
) ] и u
= u
- U
∙ Y*(x
←x
) .
Теперь уже к этой группе линейных алгебраических уравнений применяем построчное ортонормирование и получаем эквивалентное матричное краевое условие:
U ∙ Y(x
) = u
.
И так далее.
И аналогично поступаем с промежуточными матричными краевыми условиями, переносимыми с правого края в рассматриваемую точку.
В итоге получаем систему линейных алгебраических уравнений с квадратной матрицей коэффициентов, состоящую из двух независимо друг от друга поэтапно проортонормированных матричных краевых условий, которая решается любым известным методом для получения решения Y(x ) в рассматриваемой точке x
:
∙ Y(x
) =
.
5 Второй вариант метода «переноса краевых условий» в произвольную точку интервала интегрирования
Этот вариант метода еще не обсчитан на компьютерах.
Предложено выполнять интегрирование по формулам теории матриц [Гантмахер] сразу от некоторой внутренней точки интервала интегрирования к краям:
Y(0) = K(0←x) ∙ Y(x) + Y*(0←x) ,
Y(1) = K(1←x) ∙ Y(x) + Y*(1←x) .
Подставим эти формулы в краевые условия и получим:
U∙Y(0) = u,
U∙[ K(0←x) ∙ Y(x) + Y*(0←x) ] = u,
[ U∙ K(0←x) ] ∙ Y(x) = u - U∙Y*(0←x) .
и
V∙Y(1) = v,
V∙[ K(1←x) ∙ Y(x) + Y*(1←x) ] = v,
[ V∙ K(1←x) ] ∙ Y(x) = v - V∙Y*(1←x) .
То есть получаем два матричных уравнения краевых условий, перенесенные в рассматриваемую точку x:
[ U∙ K(0←x) ] ∙ Y(x) = u - U∙Y*(0←x) ,
[ V∙ K(1←x) ] ∙ Y(x) = v - V∙Y*(1←x) .
Эти уравнения аналогично объединяются в одну систему линейных алгебраических уравнений с квадратной матрицей коэффициентов для нахождения решения Y(x) в любой рассматриваемой точке x:
∙ Y(x) =
.
В случае «жестких» дифференциальных уравнений предлагается следующий алгоритм.
Используем свойство перемножаемости матриц Коши:
K(x ←x) = K(x
←x
) ∙ K(x
←x
) ∙ … ∙ K(x
←x
) ∙ K(x
←x)
и запишем выражения для матриц Коши, например, в виде:
K(0←x) = K(0←x ) ∙ K(x
←x
) ∙ K(x
←x),
K(1←x) = K(1←x ) ∙ K(x
←x
) ∙ K(x
←x
) ∙ K(x
←x),
Тогда перенесенные краевые условия можно записать в виде:
[ U∙ K(0←x ) ∙ K(x
←x
) ∙ K(x
←x) ] ∙ Y(x) = u - U∙Y*(0←x) ,
[ V∙ K(1←x ) ∙ K(x
←x
) ∙ K(x
←x
) ∙ K(x
←x) ] ∙ Y(x) = v - V∙Y*(1←x)
или в виде:
[ U∙ K(0←x ) ∙ K(x
←x
) ∙ K(x
←x) ] ∙ Y(x) = u* ,
[ V∙ K(1←x ) ∙ K(x
←x
) ∙ K(x
←x
) ∙ K(x
←x) ] ∙ Y(x) = v* .
Тогда рассмотрим левое перенесенное краевое условие:
[ U∙ K(0←x ) ∙ K(x
←x
) ∙ K(x
←x) ] ∙ Y(x) = u* ,
[ U∙ K(0←x ) ] ∙ { K(x
←x
) ∙ K(x
←x) ∙ Y(x) } = u* ,
[ матрица ] ∙ { вектор } = вектор .
Эту группу линейных алгебраических уравнений можно подвергнуть построчному ортонормированию, которое сделает строчки [матрицы] ортонормированными, {вектор} затронут не будет, а вектор получит преобразование. То есть получим:
[ U∙ K(0←x ) ]
∙ { K(x
←x
) ∙ K(x
←x) ∙ Y(x) } = u*
.
Далее последовательно можно записать:
[[ U∙ K(0←x ) ]
∙ K(x
←x
) ] ∙ { K(x
←x) ∙ Y(x) } = u*
,
[ матрица ] ∙ { вектор } = вектор .
Аналогично и эту группу линейных алгебраических уравнений можно подвергнуть построчному ортонормированию, которое сделает строчки [матрицы] ортонормированными, {вектор} затронут не будет, а вектор получит преобразование. То есть получим:
[[ U∙ K(0←x ) ]
∙ K(x
←x
) ]
∙ { K(x
←x) ∙ Y(x) } = u*
,
Далее аналогично можно записать:
[[[ U∙ K(0←x ) ]
∙ K(x
←x
) ]
∙ K(x
←x) ] ∙ { Y(x) } = u*
,
[ матрица ] ∙ { вектор} = вектор .
Аналогично и эту группу линейных алгебраических уравнений можно подвергнуть построчному ортонормированию, которое сделает строчки [матрицы] ортонормированными, {вектор} затронут не будет, а вектор получит преобразование. То есть получим:
[[[ U∙ K(0←x ) ]
∙ K(x
←x
) ]
∙ K(x
←x) ]
∙ Y(x) = u*
.
Аналогично можно проортонормировать матричное уравнение краевых условий и для правого края независимо от левого края.
Далее проортонормированные уравнения краевых условий:
[ U∙ K(0←x) ] ∙ Y(x) = u*
,
[ V∙ K(1←x) ] ∙ Y(x) = v*
как и ранее объединяются в одну обычную систему линейных алгебраических уравнений с квадратной матрицей коэффициентов для нахождения искомого вектора Y(x) :
∙ Y(x) =
.
Дата: 2019-07-25, просмотров: 201.