(%i1) | x:[0, 4., 8, 0, 4, 8, -1, 0, 8]$ |
Координаты узлов
(%i2) | y:[0, 0, 0, 4, 4, 2, 0, -1, -1]$ |
Figure 1:
Figure 2:
Номера начальных и конечных точек стержней
(%i3) | B:[1, 2, 1, 2, 3, 1, 2, 4, 5, 1, 1, 3]$ |
(%i4) | E:[2, 3, 4, 5, 6, 5, 6, 5, 6, 7, 8, 9]$ |
Число стержней вместе с опорными
(%i5) | M:length(E)$ |
Число узлов
(%i6) | N:length(x)$ |
Список стержней
(%i7) |
ST:makelist([discrete,[[x [B[k]], y[B[k]]], [x [E[k]], y[E[k]]]]],k,1,M)$ |
Рисунок фермы
(%i8) | plot2d(ST,[color,blue],[box,false],[legend,false]); |
(%i9) | G:zeromatrix(M,M)$ |
(%i10) |
for i while i<= M do ( P[i]:0, Lx:x[E[i]]-x[B[i]], Ly:y[E[i]]-y[B[i]], L[i]:sqrt(Lx^2+Ly^2), G[2*B[i]-1,i]:Lx/L[i], G[2*B[i],i]:Ly/L[i], if E[i]<=N-3 then (G[2*E[i]-1,i]:-Lx/L[i], G[2*E[i],i]:-Ly/L[i]) ); |
(%i11) | P[2*5-1]:10; |
(%i12) | Y:transpose(makelist(P[k],k,1,M))$ |
(%i13) | ratprint:false$ |
(%i14) | S:G^^(-1).(-Y),numer; |