2019年12月18日水曜日

学習環境

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


  1. g x 0

    のとき、 関数 h を

    h x = f x g x

    とおく。

    g x 1 0 , g x 2 0

    の場合、

    h ' x = f x g x - f x g x g x 2 0 h x 2 = f x 1 g x 1 = 0 h x 2 = f x 2 g x 2 = 0

    が成り立つ。

    x 1 < x 3 < x 2 g x 3 = 0

    を満たす

    x 3

    が存在しないと仮定する。

    x 1 x x 2

    で微分可能で連続、 そして、

    h x 1 = 0 h x 2 = 0 h ' x 0

    なので、 開区間

    x 1 , x 2

    で最大値、最小値が存在する。

    最大値をとる x の値について、

    x x 1 , x x 2

    ならば、

    x 1 < x < x 2 h ' x = 0

    よって矛盾。

    また、

    x = x 1

    の場合、 最大値は0で、

    x 2

    でも最大となる。

    このとき、最小値をとる

    x 4

    について、

    x 1 x 4 x 2 h ' x 4 = 0

    よって矛盾。

    x = x 2

    の場合も同様に矛盾。

    g x 1 = 0

    と仮定すると、

    f ' x 1 g x 1 - f x 1 g ' x 1 = 0

    となり、 問題の仮定に反するので、

    g x 1 0

    である。同様に、

    g x 2 0

    である。

    ゆえに、関数 f、 g が微分可能かつ

    f ' x g x - f x g ' x 0

    とするとき、

    f x 1 = f x 2 = 0 , x 1 < x 2

    ならば

    g x 3 = 0 x 1 < x 3 < x 2

    となる

    x 3

    が存在する。

    (証明終)

コード

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

print('21.')

x = symbols('x', real=True)
x1 = -2
x2 = 3
f = (x - x1) * (x - x2)
g = x
f1 = Derivative(f, x, 1).doit()
g1 = Derivative(g, x, 1).doit()


class MyTestCase(TestCase):
    def test1(self):
        self.assertNotEqual(f1 * g - f * g1, 0)

    def test2(self):
        s = solveset(g, domain=Interval.open(x1, x2))
        self.assertGreater(len(s), 0)
        self.assertEqual(g.subs({x: list(s)[0]}), 0)


p = plot(f, g, f1 * g - f * g1,
         ylim=(-10, 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('sample21.png')

if __name__ == '__main__':
    main()

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

% ./sample21.py -v
21.
test1 (__main__.MyTestCase) ... ok
test2 (__main__.MyTestCase) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.004s

OK
%

0 コメント:

コメントを投稿