2019年12月18日水曜日

学習環境

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


  1. gx0

    のとき、 関数 h を

    hx=fxgx

    とおく。

    gx10,gx20

    の場合、

    h'x=fxgx-fxgxgx20hx2=fx1gx1=0hx2=fx2gx2=0

    が成り立つ。

    x1<x3<x2gx3=0

    を満たす

    x3

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

    x1xx2

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

    hx1=0hx2=0h'x0

    なので、 開区間

    x1,x2

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

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

    xx1,xx2

    ならば、

    x1<x<x2h'x=0

    よって矛盾。

    また、

    x=x1

    の場合、 最大値は0で、

    x2

    でも最大となる。

    このとき、最小値をとる

    x4

    について、

    x1x4x2h'x4=0

    よって矛盾。

    x=x2

    の場合も同様に矛盾。

    gx1=0

    と仮定すると、

    f'x1gx1-fx1g'x1=0

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

    gx10

    である。同様に、

    gx20

    である。

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

    f'xgx-fxg'x0

    とするとき、

    fx1=fx2=0,x1<x2

    ならば

    gx3=0x1<x3<x2

    となる

    x3

    が存在する。

    (証明終)

コード

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

コメントを投稿