2019年12月3日火曜日

学習環境

微分積分学 (ちくま学芸文庫) (吉田 洋一(著)、筑摩書房)のⅢ.(平均値の定理)、演習問題Ⅲ、問14.の解答を求めてみる。


  1. P の座標を

    p , 0 p > 0

    Q の座標を

    0 , q q > 0

    とおく。

    P 、 Q、点(a, b)を通る直線は、

    f x = - q p x - a + b a > 0 , b > 0

    線分 PQ の長さの2乗

    p 2 + q 2

    の最小値を求める。

    f p = - q p p - a + b = 0 - q + q p a + b = 0 - p q + q a + b p = 0 a - p q = - b p q = b p p - a g p = p 2 + b p p - a 2 = p 2 + b 2 p 2 p - a 2 g ' p = 2 p + 2 b 2 p p - a 2 - b 2 p 2 2 p - a p - a 4 = 2 p 1 + b 2 p - a - p p - a 3 = 2 p 1 - a b 2 p - a 3 p - a 3 = a b 2 p - a = a b 2 1 3 p = a + a 1 3 b 2 3 g a + a 1 3 b 2 3 = a + a 1 3 b 2 3 2 1 + b 2 a + a 1 3 b 2 3 - a 2 = a 2 3 a 2 3 + b 2 3 2 1 + b 2 a 2 3 b 4 3 = a 2 3 + b 2 3 3

    よって求める 線分の長さの最小値は、

    P Q = a 2 3 + b 2 3 3 2

コード

#!/usr/bin/env python3
from sympy import pprint, symbols, plot, Derivative, Rational, solveset, Interval

print('14.')

x, m, p = symbols('x, m, p', real=True)
a = 2
b = 3
q = b * p / (p - a)
m = -p / q
f = m * (x - a) + b

p0 = a + a ** Rational(1, 3) * b ** Rational(2, 3)
fs = [f.subs({p: p0 + i}) for i in range(-2, 3)]
p = plot(*fs,
         (x, 0, 10),
         ylim=(0, 10),
         legend=True,
         show=False)

colors = ['red', 'green', 'blue', 'brown', 'orange',
          'purple', 'pink', 'gray', 'skyblue', 'yellow']

for o, color in zip(p, colors):
    o.line_color = color

p.show()
p.save('sample14.png')

入出力結果(Zsh、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))

 % ./sample14.py
14.
%

0 コメント:

コメントを投稿