2019年1月2日水曜日

学習環境

数学読本〈1〉数・式の計算/方程式/不等式 (松坂 和夫(著)、岩波書店)の第3章(数学の威力を発揮する - 方程式)、3.3(高次方程式)、連立2次方程式の問40.を取り組んでみる。


  1. 直方体の横の長さ、縦の長さ、高さをそれぞれ x cm、y cm、 z cm とする。

    問題.の仮定より、

    2(xy+yz+zx)=3762(x(y+1)+(y+1)z+zx)=376+362((x+1)y+yz+z(x+1))=376+32

    この連立方程式の解を求める。

    xy+yz+zx=188xy+yz+zx+x+z=188+18xy+yz+zx+y+z=188+16x+z=18y+z=16z=18-xy=16-z=16-(18-x)=x-2x(x-2)+(x-2)(18-x)+(18-x)x=188-x2+36x-36-188=0x2-36x+224=0(x-8)(x-28)=00<x<18x=8y=6z=10

    よって求める縦、横、高さはそれぞれ6 cm、 8 cm 、10 cm。

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, solve
from sympy.plotting import plot3d

print('40.')

x, y, z = symbols('x, y, z')

pprint(solve((2 * (x * y + y * z + z * x) - 376,
              2 * ((x + 1) * y + y * z + z * (x + 1)) - (376 + 36),
              2 * (x * (y + 1) + (y + 1) * z + z * x) - (376 + 32)),
             dict=True))

p = plot3d((188 - x * y) / (y + x),
           (188 + 18 - x * y - x) / (y + x + 1),
           (188 + 16 - x * y - y) / (y + x + 1),
           (x, 1, 11), (y, 1, 11),
           show=False)

p.save('sample40.png')

入出力結果(Terminal, cmd(コマンドプロンプト), Jupyter(IPython))

$ ./sample40.py
40.
[{x: 6, y: 8, z: 10}, {x: 26, y: 28, z: -10}]
$

0 コメント:

コメントを投稿