2020年5月2日土曜日

学習環境

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


  1. 0<x<6x12-2x16-2x=128x6-x8-x=32x3-14x2+48x-32=01-14+48-3208-56+96-32064-224+192-32=0x-4x2-10x+8=0x=5±25-8=5±17

    よってだめな長さは

    4cm,5-17cm

コード

#!/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 コメント:

コメントを投稿