Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

informatika / инфа / progib_szhato-izognutogo_sterzhnja / Занятие 1 - Прогиб сжато-изогнутого стержня

.doc
Скачиваний:
29
Добавлен:
03.03.2015
Размер:
134.14 Кб
Скачать

Прогиб сжато – изогнутого стержня

Уравнение изгиба центральной линии балки:

Если обозначить и , аппроксимируя 2-ю производную по на сетке с постоянным шагом , получаем следующую систему линейных уравнений:

где , .

, где s – номер студента по журналу,

g - номер группы.

Как правило, рассматривается более общий вид этой 3-х диагональной линейной системы и так как всю матрицу запоминать не надо, оперируют только с тремя одномерными массивами :

Если записать данную систему в каноническом виде:

Решение ищется по рекуррентной формуле обратного хода:

,

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

,

,

.

Данный метод называется прогонкой и является вариантом метода исключения Гаусса.

Алгоритм реализован на QBasic 4.5 при заданном G – номер группы и - номере студента по журналу.

5 CLS

10 G = 3: S = 12: L = 1: N = 9

20 H = 1! / (N - 1): C0 = (G + S) / 25

25 DIM P(N), F(N), A(N), B(N), C(N), D(N)

30 FOR I = 1 TO N: X = H * (I - 1)

40 P(I) = -S / (L * L + 4 * X * (L - X))

50 F(I) = -C0 * (2 - P(I) * X * (L - X))

60 NEXT I

70 B(1) = 1: C(1) = 0: B(N) = 1

75 D(1) = 0: D(N) = 0: A(1) = 0

80 FOR I = 2 TO N - 1

90 A(I) = 1: C(I) = 1: B(I) = -2 + H * H * P(I)

95 D(I) = H * H * F(I)

100 NEXT I

110 A(N - 1) = 0

120 REM ******* P R O G O N K A *******

130 W = B(1): D(1) = D(1) / W

140 FOR I = 2 TO N

150 B(I - 1) = C(I - 1) / W

160 W = B(I) - A(I - 1) * B(I - 1)

170 D(I) = (D(I) - A(I - 1) * D(I - 1)) / W

180 NEXT I

190 FOR I = 1 TO N - 1

200 D(N - I) = D(N - I) - B(N - I) * D(N - I + 1)

300 NEXT I

310 FOR I = 1 TO N: PRINT I; " "; D(I): NEXT I

Матрица A =

1.000 1.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000

0.000 -2.130 1.000 0.000 0.000 0.000 0.000 0.000 0.000

0.000 1.000 -2.107 1.000 0.000 0.000 0.000 0.000 0.000

0.000 0.000 1.000 -2.097 1.000 0.000 0.000 0.000 0.000

0.000 0.000 0.000 1.000 -2.094 1.000 0.000 0.000 0.000

0.000 0.000 0.000 0.000 1.000 -2.097 1.000 0.000 0.000

0.000 0.000 0.000 0.000 0.000 1.000 -2.107 0.000 0.000

0.000 0.000 0.000 0.000 0.000 0.000 1.000 -2.130 0.000

0.000 0.000 0.000 0.000 0.000 0.000 0.000 1.000 1.000

Вектор B =

0.000 -0.027 -0.031 -0.032 -0.033 -0.032 -0.031 -0.027 0.000

Решение =

1 0.000000

2 0.065625

3 0.112500

4 0.140625

5 0.150000

6 0.140625

7 0.112500

8 0.065625

9 0.000000