2020年5月2日土曜日

学習環境

代数への出発 (新装版 数学入門シリーズ) (松坂 和夫(著)、岩波書店)の第5章(連立方程式と高次方程式)、4(高次方程式と因数定理)、問25の解答を求めてみる。


  1. 0 < x < 6 x 12 - 2 x 16 - 2 x = 128 x 6 - x 8 - x = 32 x 3 - 14 x 2 + 48 x - 32 = 0 1 - 14 + 48 - 32 0 8 - 56 + 96 - 32 0 64 - 224 + 192 - 32 = 0 x - 4 x 2 - 10 x + 8 = 0 x = 5 ± 25 - 8 = 5 ± 17

    よってだめな長さは

    4 cm , 5 - 17 cm

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, solve, sqrt, plot

print('25.')

x = symbols('x', real=True, positive=True)
f = x * (12 - 2 * x) * (16 - 2 * x)
v = 128


class TestCube(TestCase):
    def test(self):
        xs = [x0 for x0 in solve(f - v) if x0 < 6]
        self.assertEqual(set(xs), {4, 5 - sqrt(17)})


p = plot(f - v,
         (x, -10, 10),
         ylim=(-10, 10),
         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('sample25.png')


if __name__ == "__main__":
    main()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample25.py -v
25.
test (__main__.TestCube) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.041s

OK
%

0 コメント:

コメントを投稿