Метод «переноса краевых условий» в произвольную точку интервала интегрирования
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

 

Метод обсчитан на компьютерах. По нему уже сделано 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, просмотров: 163.