裏 RjpWiki

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

算額(その687)

2024年02月09日 | Julia

算額(その687)

和算問題あれこれ 2 令和5年7月の問題-No.2(『神壁算法』第53問)
https://gunmawasan.web.fc2.com/k-n-mondai.html

台形内に左斜と右斜の2本の線分を設ける。左斜,右斜,闊(高さ)の長さがそれぞれ 15 寸,5 寸,12 寸である。甲,乙を変化させたとき,台形の面積が最大になるときの甲,乙の長さを求めよ。

横倒しになっている台形であるが,下底(左側),下底(右側)の長さはそれぞれ固定されているので,甲によって増減する。したがって,上底,下底,闊により決まる面積も甲の関数になる。
面積(甲) = 闊*(sqrt(右斜^2 - 甲^2) + sqrt(左斜^2 - (-甲 + 闊)^2))/2
左斜,右斜,闊 がそれぞれ 15, 5, 12 ならば
面積(甲) = 6*sqrt(25 - 甲^2) + 6*sqrt(225 - (12 - 甲)^2)
である。甲を横軸,面積を縦軸に取り図を描いてみる。

include("julia-source.txt");
# julia-source.txt ソース https://blog.goo.ne.jp/r-de-r/e/ad3a427b84bb416c4f5b73089ae813cf

using SymPy

@syms 甲, 左斜, 右斜, 闊, 下底, 上底, 面積
(左斜, 右斜, 闊) = ( 15, 5, 12)
下底 = sqrt(左斜^2 -  (闊 - 甲)^2)
上底 = sqrt(右斜^2 -  甲^2)
面積 = (下底 + 上底)*闊/2
面積 |> println

   6*sqrt(25 - 甲^2) + 6*sqrt(225 - (12 - 甲)^2)

pyplot(size=(300, 200), grid=false, aspectratio=:none, label="", fontfamily="IPAMincho")
plot(面積, xlims=(0, 5), xlabel="甲", ylabel="面積")

図より,甲が3前後のときに面積が最大になることがわかる。

面積が最大になるときの甲は,面積の導関数を求めそれが 0 になるときの値である。方程式を解くことにより,甲 = 3 である。また,このとき面積を表す関数の甲にその値を代入すれば,最大値が 96 であることがわかる。

solve(diff(面積))[1] |> println

   3

面積(甲 => 3) |> println

   96

 

 


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

コメントを投稿

Julia」カテゴリの最新記事