はりの計算式を連載で紹介しています。
数式処理ソフト maxima と ruby による 計算プログラム
:片持ち梁 n次分布荷重
@echo off
path C:\maxima-5.47.0\bin;%path%
ruby -x %~f0
pause
goto:eof
#!ruby
f = open "| maxima --very-quiet", "w"
f.print <<~Maxima
assume(L > 0, GA >= 0, EI > 0, __g__ >= 0, n > 0)$
p: -w * (x / L) ^ n$
Q: C1 + integrate(p, x)$
M: C2 + integrate(Q, x)$
r: -M$
G: fs * EI / GA * Q$
T: C3 + integrate(r, x)$
V: C4 + integrate(T + G, x)$
s: solve(
/* ----| A端自由・B端固定 */
[ev(Q, x = 0) = 0, ev(M, x = 0) = 0, ev(T, x = L) = 0, ev(V, x = L) = 0],
[C1, C2, C3, C4, C5, C6, C7, C8])$
[Q, M, T, V]: ev([Q, M, T, V], s)$
print("q =", string(factor(ratsimp(factor(ratsubst(__g__, fs*EI/GA/L^2, Q))))))$
print("m =", string(factor(ratsimp(factor(ratsubst(__g__, fs*EI/GA/L^2, M))))))$
print("t =", string(factor(ratsimp(factor(ratsubst(__g__, fs*EI/GA/L^2, T))))))$
print("v =", string(factor(ratsimp(factor(ratsubst(__g__, fs*EI/GA/L^2, V))))))$
quit()$
Maxima
f.close
__END__
計算結果は
となります。計算結果の整理は筆算でおこないました。