裏 RjpWiki

Julia ときどき R, Python によるコンピュータプログラム,コンピュータ・サイエンス,統計学

算額(その1596)

2025年02月06日 | Julia

算額(その1596)

三重県伊賀市上野東町 菅原神社(上野天神宮) 嘉永7年(1854)
深川英俊,トニー・ロスマン:聖なる数学:算額,p. 116,森北出版株式会社,2010年4月22日.
キーワード:体積,級数
#Julia, #SymPy, #算額, #和算, #数学

底面が辺の長さ a の正三角形で高さも a である大きな角錐を逆さにして酒を満たし,その体積を V0 とする。
これより 1 石  2斗 5 升(125升)をくみ出して残りを 2 倍にする。次に同じように 125 升をくみ出して残りを 2 倍にする。こうして 10 回目に 125 升をくみ出すと残りが無くなった。さて,この容器の体積 V を求めよう。また 1 升は一辺が 4.0172 寸の立方体としたとき,a を寸で求めよ。

深川英俊,トニー・ロスマン:聖なる数学:算額,p. 114,森北出版株式会社,2010年4月22日.
キーワード:等比級数
#Julia, #SymPy, #算額, #和算, #数学

酒の量は,
V0 : 初期値
V1 = 2(V0 - 125) : 1 回目の操作の後の酒の量
V2 = 2(V1 - 125) : 2 回目の操作の後の酒の量
    :
V10 = 2(V9 - 125) : 10 回目の操作の後の酒の量 = 0
となる。最後の V10 の中の V9 に直前の V9 を代入して...を繰り返し,V10 を V0 で表した方程式を解けばよいが,面倒。

繰り返し作業はコンピュータの最も得意とする所。以下のようにして簡単に解くべき方程式を得ることができる。
等比級数だとか等比級数の和だとか,なんにも考える必要がない。

using SymPy
@syms V[1:11]::positive, V0::positive
V[1] = V0  # 初期状態
for i in 2:11  # 操作を繰り返す。結果は配列の中に代入されていく。
    V[i] = 2(V[i - 1] - 125)
end

V[1] |> println

    V0

V[2] |> println

    2*V0 - 250

V[3] |> println

    4*V0 - 750

V[11]  |> println  # 10 回目の操作が終わった段階での量。

    1024*V0 - 255750

ans_V0 = solve(V[11], V0)[1]   # 1024*V0 = 255750 を解くということ
ans_V0 |> println  # これが「0」であるということなので,方程式を解く。

    127875/512

体積は 249.755859375 升である。

ans_V0.evalf() |> println

    249.755859375000

(1) 底面が一辺 a 寸の正三角形で高さが a の三角錐の体積は (a/2 * √3a/2 * a / 3) で単位は「立法寸」
(2) V0 の単位は「升」なので,「立法寸」にするためには 4.0172 を掛ける。(4.0172^3 立法寸 = 1 升)
(1),(2) が等しいとして,以下の方程式を解いて a を求める。

@syms a
eq = (a/2 * √3a/2 * a / 3) - ans_V0*4.0172^3  # (1) - (2) = 0
solve(eq, a)[1] |> println

    48.2283298085359

a = 48.2283298085359 寸である。


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 算額(その1595) | トップ | MacOS: RDatasets を使えるよ... »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Julia」カテゴリの最新記事