裏 RjpWiki

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

算額(その331)

2023年07月16日 | Julia

算額(その331)

静岡県磐田市蒲田 医王寺 安永8年(1779)
http://www.wasan.jp/sizuoka/ioji2.html
数学者による和算額の内容解析
https://www.iouji.net/wp-content/uploads/sugaku.pdf

長方形 ABCD があり,線分 BE の二乗と 平(AB) の和が 237 寸,AF は 13寸6分,FC は 3寸4分である。長方形の二辺の長さ(平と長)はいかほどか。

AB,BC,CE の長さを a, c, e とおき,直線の交点 F の座標を (x, y) とする。
以下の連立方程式を解く。

include("julia-source.txt");

using SymPy

@syms a::positive, c::positive, e::positive,
     x::positive, y::positive;
eq1 = (c^2 + e^2) + a - 237
eq2 = (a - y)^2 + x^2 - 13.6^2
eq3 = (c - x)^2 + y^2 - 3.4^2
eq4 = y/e - 13.6/17
eq5 = a^2 + c^2 - 17^2;
res = solve([eq1, eq2, eq3, eq4, eq5], (a, c, e, x, y))

   1-element Vector{NTuple{5, Sym}}:
    (8.00000000000000, 15.0000000000000, 2.00000000000000, 12.0000000000000, 1.60000000000000)

長方形の縦,横の長さは 8寸,15寸である。

using Plots

function draw(more=false)
   pyplot(size=(500, 500), grid=false, aspectratio=1, label="", fontfamily="IPAMincho")
   (a, c, e, x, y) = (8, 15, 2, 12, 1.6)
   @printf("平 = %d;  長 = %d;  e = %d;  x = %d;  y = %.1f\n", a, c, e, x, y)
   plot([0, c, c, 0, 0], [0, 0, a, a, 0], color=:black, lw=0.5)
   segment(0, a, c, 0, :blue)
   segment(0, 0, c, e, :red)
   if more
       point(x, y, "(x,y)\n", :green, :center, :bottom)
       point(0, a, " a", :black, :left, :bottom)
       point(c, 0, " c", :black, :left, :bottom)
       point(c, e, " e", :black, :left, :bottom)
       vline!([0], color=:black, lw=0.5)
       hline!([0], color=:black, lw=0.5)
   else
       plot!(showaxis=false)
   end
end;


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

コメントを投稿

Julia」カテゴリの最新記事