Добавил:
alexeivinogradov@yandex.ru к.ф.-м.н.rnhttp://nauchkor.ru/users/572f1d7d5f1be72184501535 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
v_math_2013-without-stars.pdf
Скачиваний:
0
Добавлен:
14.05.2026
Размер:
1.88 Mб
Скачать

37

angle=start_angle;//начальное значение угловой координаты for(int ii=0;ii<=100;ii++){

Moment[ii]+=Y[ii][4]*( nju*nn2/sin(angle)/sin(angle))+Y[ii][5]*(nju/tan(angle))+Y[ii][6]*(1.0);//Момент M1 в

точке [ii]

angle+=step;

//U[2][4]= nju*nn2/sin(start_angle)/sin(start_angle);

//U[2][5]=nju/tan(start_angle); //U[2][6]=1.0; Момент

}

}//ЦИКЛ ПО ГАРМОНИКАМ ЗДЕСЬ ЗАКАНЧИВАЕТСЯ

for(int ii=0;ii<=100;ii++){ fprintf(fp,"%f\n",Moment[ii]);

}

fclose(fp);

printf( "PRESS any key to continue...\n" ); _getch();

return 0;

}

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,

38

[ 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:

 

U K(0 x)

 

Y(x) =

u - U Y*(0 x)

.

 

 

 

V K(1 x)

 

v - V Y* (1 x)

 

 

 

 

 

 

 

 

 

 

В случае «жестких» дифференциальных уравнений предлагается следующий алгоритм.

Используем свойство перемножаемости матриц Коши:

K(x i ←x) = K(x i ←x i 1 ) ∙ K(x i 1 ←x i 2 ) ∙ … ∙ K(x 2 ←x1 ) ∙ K(x1 ←x)

и запишем выражения для матриц Коши, например, в виде:

K(0←x) = K(0←x 2L ) ∙ K(x 2L ←x1L ) ∙ K(x1L ←x),

K(1←x) = K(1←x 3R ) ∙ K(x 3R ←x 2R ) ∙ K(x 2R ←x1R ) ∙ K(x1R ←x),

39

Тогда перенесенные краевые условия можно записать в виде:

[ U∙ K(0←x 2L ) ∙ K(x 2L ←x1L ) ∙ K(x1L ←x) ] ∙ Y(x) = u - U∙Y*(0←x) ,

[ V∙ K(1←x 3R ) ∙ K(x 3R ←x 2R ) ∙ K(x 2R ←x1R ) ∙ K(x1R ←x) ] ∙ Y(x) = v - V∙Y*(1←x)

или в виде:

[ U∙ K(0←x 2L ) ∙ K(x 2L ←x1L ) ∙ K(x1L ←x) ] ∙ Y(x) = u* ,

[ V∙ K(1←x 3R ) ∙ K(x 3R ←x 2R ) ∙ K(x 2R ←x1R ) ∙ K(x1R ←x) ] ∙ Y(x) = v* .

Тогда рассмотрим левое перенесенное краевое условие:

[ U∙ K(0←x

2L ) ∙ K(x 2L ←x1L ) ∙ K(x1L ←x) ] ∙ Y(x)

= u* ,

[ U∙ K(0←x

2L ) ] ∙ { K(x 2L ←x1L ) ∙ K(x1L ←x) ∙ Y(x) } = u* ,

[ матрица ] ∙ {

вектор

} = вектор .

Эту группу линейных алгебраических уравнений можно подвергнуть построчному ортонормированию, которое сделает строчки [матрицы] ортонормированными, {вектор}

затронут не будет, а вектор получит преобразование. То есть получим:

[ U∙ K(0←x 2L ) ] орто { K(x 2L ←x1L ) ∙ K(x1L ←x) ∙ Y(x) } = u* орто .

Далее последовательно можно записать:

[[ U∙ K(0←x 2L ) ] орто ∙ K(x 2L ←x1L ) ] ∙ { K(x1L ←x) ∙ Y(x) } = u* орто ,

[ матрица ] ∙ { вектор } = вектор .

Аналогично и эту группу линейных алгебраических уравнений можно подвергнуть построчному ортонормированию, которое сделает строчки [матрицы]

ортонормированными, {вектор} затронут не будет, а вектор получит преобразование. То есть получим:

40

[[ U∙ K(0←x 2L ) ] орто ∙ K(x 2L ←x1L ) ] орто { K(x1L ←x) ∙ Y(x) } = u* 2 орто ,

Далее аналогично можно записать:

[[[ U∙ K(0←x 2L ) ] орто ∙ K(x 2L ←x1L ) ] орто ∙ K(x1L ←x) ] ∙ { Y(x) } = u* 2 орто ,

[ матрица ] ∙ { вектор} = вектор .

Аналогично и эту группу линейных алгебраических уравнений можно подвергнуть построчному ортонормированию, которое сделает строчки [матрицы]

ортонормированными, {вектор} затронут не будет, а вектор получит преобразование. То есть получим:

[[[ U∙ K(0←x 2L ) ] орто ∙ K(x 2L ←x1L ) ] орто ∙ K(x1L ←x) ] орто Y(x) = u* 3 орто .

Аналогично можно проортонормировать матричное уравнение краевых условий и для правого края независимо от левого края.

Далее проортонормированные уравнения краевых условий:

[ U∙ K(0←x) ] 3 орто

Y(x)

= u* 3 орто ,

[ V∙ K(1←x) ] 4 орто

Y(x)

= v* 4 орто

как и ранее объединяются в одну обычную систему линейных алгебраических уравнений с квадратной матрицей коэффициентов для нахождения искомого вектора Y(x) :

 

U K(0 x) 3орто

 

 

 

u*

орто

 

 

 

 

 

 

 

 

 

Y(x) =

3

.

 

V K(1 x) 4 орто

 

 

v*4

орто

 

 

 

 

 

 

 

 

 

 

 

 

 

6. Метод дополнительных краевых условий.

Этот метод еще не обсчитан на компьютерах.

Запишем на левом крае ещё одно уравнение краевых условий:

41

M ∙ Y(0) = m .

В качестве строк матрицы M можно взять те краевые условия, то есть выражения тех физических параметров, которые не входят в параметры краевых условий левого края L или линейно независимы с ними. Это вполне возможно, так как у краевых задач столько независимых физических параметров какова размерность задачи, а в параметры краевых условий входит только половина физических параметров задачи. То есть, например, если рассматривается задача об оболочке ракеты, то на левом крае могут быть заданы 4

перемещения. Тогда для матрицы М можно взять параметры сил и моментов, которых тоже

4, так как полная размерность такой задачи – 8. Вектор m правой части неизвестен и его надо найти и тогда можно считать, что краевая задача решена, то есть сведена к задаче Коши, то есть найден вектор Y(0) из выражения:

U

 

Y(0) =

u

,

M

m

 

 

 

то есть вектор Y(0) находится из решения системы линейных алгебраических уравнений с квадратной невырожденной матрицей коэффициентов, состоящей из блоков U и M.

Аналогично запишем на правом крае ещё одно уравнение краевых условий:

N ∙ Y(0) = n ,

где матрица N записывается из тех же соображений дополнительных линейно независимых параметров на правом крае, а вектор n неизвестен.

Для правого края тоже справедлива соответствующая система уравнений:

VN Y(1) = nv .

Запишем Y(1) = K(1←0) ∙Y(0) + Y*(1←0) и подставим в последнюю систему линейных алгебраических уравнений:

42

VN ∙ [ K(1←0) ∙Y(0) + Y*(1←0) ] = nv ,

V

 

∙ K(1←0) ∙Y(0) =

v

-

 

V

 

Y*(1←0),

N

n

N

 

 

 

 

 

 

 

V

 

∙ K(1←0) ∙Y(0) =

v - V Y* (1 0)

,

 

 

 

N

 

n - N Y* (1 0)

 

 

 

 

 

 

 

 

 

 

V ∙ K(1←0) ∙Y(0) =

N

Запишем вектор Y(0) через обратную матрицу:

Y(0) = MU -1 mu

s .

t

и подставим в предыдущую формулу:

 

V

 

∙ K(1←0) ∙

 

U

 

 

 

-1

 

u

 

=

 

s

 

.

 

 

 

 

 

 

 

 

 

 

N

 

 

M

 

 

 

 

 

m

 

 

 

t

 

 

Таким образом, мы получили систему уравнений вида:

В ∙

 

u

 

=

 

s

 

,

 

 

 

 

 

m

 

 

 

t

 

 

где матрица В известна, векторы u и s известны, а векторы m и t неизвестны.

Разобьем матрицу В на естественные для нашего случая 4 блока и получим:

В11

В12

 

 

u

 

=

 

s

 

,

 

 

 

 

 

В21

В22

 

 

m

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

43

откуда можем записать, что

В11 ∙ u + B12 ∙ m = s, B21 ∙ u + B22 ∙ m = t.

Следовательно, искомый вектор m вычисляется по формуле:

m = B12 -1 ∙ (s – B11∙ u).

А искомый вектор n вычисляется через вектор t:

t = B21 ∙ u + B22 ∙ m,

n= t + N ∙ Y*(1←0).

Вслучае «жестких» дифференциальных уравнений предлагается выполнять поочередное построчное ортонормирование.

Запишем приведенную выше формулу

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V

 

U

 

 

 

-1

 

u

 

 

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

∙ K(1←0) ∙

 

 

 

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

N

M

 

 

 

 

 

m

 

 

 

t

 

 

 

 

 

 

 

 

 

 

в виде:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V

 

∙ K(1←x2) ∙ K(x2←x1) ∙ K(x1←0) ∙

 

U

 

 

 

-1

 

u

 

=

 

s

 

.

 

 

 

 

 

 

 

 

 

 

N

 

 

M

 

 

 

 

 

m

 

 

 

t

 

 

Эту формулу можно записать в виде разделения левой части на произведение матрицы на

вектор:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V

 

 

 

 

 

 

U

 

-1

 

u

 

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[

 

 

 

∙ K(1←x2) ]

{ K(x2←x1) ∙ K(x1←0) ∙

 

 

 

 

 

}

=

 

 

 

N

 

 

M

 

m

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[

 

 

матрица

]

{

вектор

 

 

 

 

 

}

= вектор

44

Эту группу линейных алгебраических уравнений можно подвергнуть построчному ортонормированию, которое сделает строчки [матрицы] ортонормированными, {вектор}

затронут не будет, а вектор получит преобразование. То есть получим:

[

 

V

 

K(1←x2) ] орто

{ K(x2←x1) ∙ K(x1←0) ∙

 

U

 

-1

 

u

 

} =

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

орто

 

N

 

 

M

 

 

 

m

 

?

Здесь следует сказать, что подвектор t подвергать преобразованию не нужно, так как невозможно, так как его первоначальное значение не известно. Но подвектор t нам оказывается и не нужен для решения задачи.

Далее запишем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[[

 

V

 

∙ K(1←x2) ] орто

∙ K(x2←x1)]

{ K(x1←0) ∙

 

U

 

 

 

-1

 

u

 

}

=

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

орто

 

N

 

M

 

 

 

 

m

 

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[

 

 

 

матрица

]

{

вектор

 

 

 

}

=

вектор

Аналогично и эту группу линейных алгебраических уравнений можно подвергнуть построчному ортонормированию, которое сделает строчки [матрицы]

ортонормированными, {вектор} затронут не будет, а вектор получит преобразование. То есть получим:

 

V

 

 

 

 

 

U

 

 

 

 

-1

 

 

u

 

s

 

 

 

 

 

 

 

 

 

 

 

 

[[

 

 

K(1←x2) ] орто ∙ K(x2←x1)]

орто

{ K(x1←0) ∙

 

 

 

 

 

 

 

 

 

} =

 

2 орто .

N

 

M

m

?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

И так далее.

В результате поочередного ортонормирования получим:

В орт

 

u

 

=

 

s

 

орт

,

 

 

 

 

 

 

m

 

 

 

t

 

 

 

В11

В12

 

орт

 

u

 

=

 

s

 

орт

.

 

 

 

 

 

В21

В22

 

 

m

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Следовательно, искомый вектор m вычисляется по формуле:

Соседние файлы в предмете Численные методы