学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第5章(連立方程式と高次方程式)、2(連立2次方程式)、問13の解答を求めてみる。
70 cm の針金を a cm と b cm の2つの部分に切るとする。
a cm の針金で正方形のわくを作る。
b cm の針金で 辺の比が1対2の 長方形のわくを作る。
正方形の面積は
長方形の面積は
また、
正方形と長方形の面積が
なので、
よって、 切り分けた針金の良さのそれぞれの長さを求めるには連立2元2次方程式
の解を求めればいい。
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, solve, Rational, plot
print('13.')
x, y = symbols('x, y', positive=True)
class TestRightTriangleSides(TestCase):
def test(self):
s = solve([x + y - 70,
(x / 4) ** 2 + y ** 2 * 2 / (2 * 3 * 2 * 3) - 150])
self.assertEqual(s, [{x: Rational(440, 17), y: Rational(750, 17)},
{x: 40, y: 30}])
f = 70 - x
p = plot(f,
(x / 4) ** 2 + (f / 2) * Rational(1, 3) * f / 2 * Rational(2, 3),
150,
(x, 0, 70),
ylim=(0, 180),
legend=True,
show=False)
colors = ['red', 'green', 'blue', 'brown', 'orange', 'pink']
for i, s in enumerate(p):
s.line_color = colors[i]
p.show()
p.save('sample13.png')
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample13.py -v
13.
test (__main__.TestRightTriangleSides) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.252s
OK
%
0 コメント:
コメントを投稿