Программа 33. Задача 59. Расчет статически неопределимой стержневой системы
> | restart; |
> | read "C:\\Podpr1.m": |
> | n:=[1,2,4]: |
> | with(LinearAlgebra): |
Координаты шарнира балки
> | x0:=0: y0:=0: |
Координаты шарниров на балке
> | xb:=<80,70,60>: yb:=<20,17.5,15>: |
Координаты опорных шарниров
> | x:=<80,0,20,x0>: y:=<45,17.5,-25,y0>: |
Длины стержней
> | for i to 3 do |
> | v[i]:=Vector([x[i]-xb[i],y[i]-yb[i],0]): |
> | L[i]:=VectorNorm(v[i],2); |
> | v1[i]:=s[i]*Normalize(v[i],Euclidean); |
> | r[i]:=Vector([xb[i]-x0,yb[i]-y0,0]): |
> | od: |
Координаты точки приложения силы
> | r[4]:=Vector([80,20,0]): |
Сила
> | v1[4]:=Vector([16,0,0]): |
Метод сил
> | N:=Matrix(3): |
> | for j to 3 do |
> | i:=n[j]:s[i]:=1: |
> | EQ:=CrossProduct(r[3],v1[3])+CrossProduct(r[i],v1[i]): |
> | N[j,j]:=1: N[j,3]:=evalf(solve(EQ[3],s[3])); |
> | od: |
Интеграл Мора
> | for i to 2 do |
> | for j to 3 do |
> | d[i,j]:=evalf(add(L[k]*N[i,k]*N[j,k],k=1..3)); |
> | od; |
> | od; |
Каноническая система метода сил
> | for i to 2 do |
> | eq[i]:=d[i,1]*x1+d[i,2]*x2+d[i,3]; |
> | od; |
> | sl:=solve({eq[1],eq[2]},{x1,x2}):assign(sl); |
> | s[1]:=x1;s[2]:=x2; |
Уравнение моментов
> | EQ:=add(CrossProduct(r[k],v1[k]),k=1..4): |
> | x3:=evalf(solve(EQ[3],s[3])); |
РИСУНОК
> | with(plots):with(plottools): |
Три стержня
> | for i to 3 do |
> | R[i]:=PLOT(CURVES([[xb[i],yb[i]],[x[i],y[i]]])): |
> | od: |
Параметры стрелки (толщина,толщина наконечника,отн.длина наконечника)
> | arw:=0.5,2,0.2,color=red: |
Нагрузка
> | Nagr:=arrow( [r[4][1],r[4][2]],v1[4],arw): |
Балка
> | balka:=PLOT(CURVES([ [x0,y0],[r[4][1],r[4][2]]],COLOR(RGB, 0, 1, 0)),THICKNESS(3)): |
> | display(seq(Опора(i,1),i=1..4),Nagr,balka,seq(R[i],i=1..3),scaling=constrained,axes=none); |