Добрый день, коллеги. Занимаюсь расчетом распределения нагрузки в балочной системе с зазорами. В результате подготовил расчет в Maple c применением процедур. Проблема в том, что выбор между процедурами Maple производит, а вот расчет по второй процедуре - не выдает. Я начинающий пользователь Maple, поэтому прошу помощи в такой банальности. Код ниже. Спасибо за подсказки. П.С. расчет вручную по этому алгоритму получается нормально.
Код:
restart;
H := 600; Q := 392000; L := 1600; alpha := 35; l := 240; z1 := .6; z2 := .25; J1 := 130690254; J2 := 284981668; E := 2.1*10^5;
L1 := .5*L+H*evalf(tan((1/180)*alpha*Pi)); Theta := z1/l; A := 6*E*J1*Theta/(L^2*(L1/L-(L1/L)^3)); a := 2*Theta*(L-L1)^2*L1^2/(L^3*(L1/L-(L1/L)^3)); lambda1 := (L-L1)^2*L1^2/(3*E*J1*L); lambda2 := L1*(L-L1)^3*(14*L^2-7*L*L1+L1^2)/(12*E*J1*L^3); lambda3 := (L-L1)^3*L1^3/(3*E*J2*L^3);
if A <= Q then PRC1(A, a, Q, lambda2, lambda3, z2) else PRC2(Q, lambda1, lambda3, z2) end if
PRC1 := proc (A, a, Q, lambda2, lambda3, z2) local B, b, C, M, m, N, n, w, Q1; B := Q-A; b := B*lambda2; if z2-a <= b then C := (z2-a)/lambda2; M := (Q-A-C)*lambda2/(lambda2+lambda3); N := (Q-A-C)*lambda3/(lambda2+lambda3); m := M*lambda3; n := N*lambda2; w := z1+m; Q1 := A+C+N+M else Q1 := A+B; w := a+b end if; return w, Q1 end proc;
PRC2 := proc (Q, lambda1, lambda3, z2) local b, M, m, N, n, U, w, Q1; b := Q*lambda1; if b <= z2 then N := 0; n := 0; M := 0; m := 0; w := b; Q1 := Q else U := z2/lambda1; M := (Q-U)*lambda1/(lambda1+lambda3); N := (Q-U)*lambda3/(lambda1+lambda3); m := M*lambda3; n := N*lambda1; Q1 := U+N+M; w := z2+m end if; return w, Q1 end proc;