Численное построение эпюр Q и M
Эпюры Q и M можно построить численно — пройтись по балке маленькими шагами и накопить силу и момент.
Численная эпюра — таблица значений $Q(x)$ и $M(x)$ в множестве близких сечений по длине балки.
Идея численного метода
Аналитические формулы хороши для простых случаев, но при сложной нагрузке удобнее считать по точкам. Разобьём балку на $n$ мелких отрезков. В каждом сечении $x$: поперечная сила = реакция левой опоры минус сумма всех приложенных слева сил (включая распределённую $q\cdot x$); момент = сумма моментов всех левых сил относительно сечения. Связь $dM/dx = Q$ позволяет получать $M$ накоплением $Q$.
Балка с равномерной нагрузкой
Балка длиной $l = 6$ м на двух опорах под равномерной нагрузкой $q = 5$ кН/м. Полная нагрузка $ql$, реакции из симметрии $R_A = R_B = ql/2$. Теоретически $M_{max} = ql^2/8$ в середине, $Q$ меняется линейно от $+ql/2$ до $-ql/2$.
q = 5000.0 # распределённая нагрузка, Н/м
l = 6.0 # пролёт, м
R_A = R_B = q * l / 2
n = 600
dx = l / n
x = 0.0
M = 0.0
M_max = 0.0
x_at_max = 0.0
Q_prev = None
results = []
for i in range(n + 1):
Q = R_A - q * x # поперечная сила в сечении x
if i > 0:
M += (Q_prev + Q) / 2 * dx # интегрируем Q -> M (метод трапеций)
if M > M_max:
M_max = M
x_at_max = x
if i % 150 == 0:
results.append((x, Q, M))
Q_prev = Q
x += dx
for xi, Qi, Mi in results:
print(f"x={xi:.1f} м: Q={Qi/1000:6.2f} кН, M={Mi/1000:6.2f} кН·м")
print("Численный M_max =", round(M_max/1000, 3), "кН·м при x =", round(x_at_max, 2), "м")
print("Теория ql^2/8 =", round(q*l**2/8/1000, 3), "кН·м")Вывод:
x=0.0 м: Q= 15.00 кН, M= 0.00 кН·м x=1.5 м: Q= 7.50 кН, M= 16.88 кН·м x=3.0 м: Q= 0.00 кН, M= 22.50 кН·м x=4.5 м: Q= -7.50 кН, M= 16.88 кН·м x=6.0 м: Q=-15.00 кН, M= 0.00 кН·м Численный M_max = 22.5 кН·м при x = 3.0 м Теория ql^2/8 = 22.5 кН·м
Численный максимум совпал с теоретическим $ql^2/8$ — метод подтверждает формулу. Заметьте: $M_{max}$ ровно там, где $Q = 0$ (в середине).
Консольная балка
Для консоли (защемлена слева, свободна справа) с силой $F$ на конце эпюра $Q$ постоянна и равна $F$, а $M$ линейно растёт от нуля на конце до $Fl$ в заделке — там опасное сечение.
F = 8000.0 # сила на конце, Н
l = 2.0 # длина консоли, м
n = 4
for i in range(n + 1):
x = i * l / n # от заделки
Q = F # постоянна по длине
M = F * (l - x) # максимум в заделке (x=0)
print(f"x={x:.1f} м от заделки: Q={Q/1000:.1f} кН, M={M/1000:.1f} кН·м")Вывод:
x=0.0 м от заделки: Q=8.0 кН, M=16.0 кН·м x=0.5 м от заделки: Q=8.0 кН, M=12.0 кН·м x=1.0 м от заделки: Q=8.0 кН, M=8.0 кН·м x=1.5 м от заделки: Q=8.0 кН, M=4.0 кН·м x=2.0 м от заделки: Q=8.0 кН, M=0.0 кН·м
Как работает под капотом
Накопление $M \mathrel{+}= \frac{Q_{i-1}+Q_i}{2}\, dx$ — это численное интегрирование зависимости $dM/dx = Q$ методом трапеций. С уменьшением шага $dx$ результат сходится к точному. Для кусочно-линейной $Q$ (как здесь) даже грубая сетка даёт верный максимум, потому что площадь под прямой считается точно при достаточном числе шагов.
Частые ошибки
- Не учитывают накопленную распределённую нагрузку $q\cdot x$ при вычислении $Q$.
- Берут слишком грубый шаг и промахиваются мимо точки $Q=0$.
- Путают, откуда отсчитывается $x$ (от опоры или от заделки).
Итоги
- Эпюры строят численно, проходя балку шагами и считая $Q$ и $M$.
- $M$ получают интегрированием $Q$ (метод трапеций) по длине.
- Под равномерной нагрузкой $M_{max} = ql^2/8$ в середине, где $Q=0$.
- У консоли с силой на конце $M_{max} = Fl$ в заделке.