数学のブログ

積分法 2曲線の交点、原点、弧で囲まれる図形の面積、定積分の計算、定数、軌跡

微分積分学 (ちくま学芸文庫) (吉田 洋一(著)、筑摩書房)のⅣ.(積分法)、演習問題20.の解答を求めてみる。

α 4 y 12 = x 16 β 3 x 9 = y 12
α 4 β 3 x 9 = x 16
α 4 β 3 = x 7
x = ( α 4 β 3 ) 1 7

両曲線の弧で囲まれる面積を求める。

| ( x 4 α ) 1 3 - ( β x 3 ) 1 4 | dx
= | α - 1 3 3 7 x 7 3 - β 1 4 4 7 x 7 4 |
| 3 7 α β - 4 7 α β | = 1 7 α β

面積が一定の場合、

α β

は一定なので、 点 P の軌跡について、

α β x 3 y 3 = x 4 y 4
α β = x y

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, pprint, solve, Rational, plot, Integral
from sympy.abc import x, y

print('20.')

alpha = 2
beta = 3
y1 = solve(alpha * y ** 3 - x ** 4, y)
y2 = solve(beta * x ** 3 - y ** 4, y)
for o in [y1, y2]:
    pprint(o)
    print()
y1 = y1[0]
y2 = y2[1]
for o in [y1, y2]:
    pprint(o)
    print()
x0 = (alpha ** 4 * beta ** 3) ** Rational(1, 7)


class Test(TestCase):
    def test(self):
        self.assertEqual(
            float(Integral(y2 - y1, (x, 0, x0)).doit()),
            alpha * beta / 7
        )


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

p = plot(y1, y2, (x, 0, x0), legend=True, show=False)
for o, color in zip(p, colors):
    o.line_color = color
p.show()
p.save('sample20.png')

if __name__ == "__main__":
    main()

入出力結果

% ./sample20.py -v
20.
⎡        ____            ____                ____            ____             
⎢ 2/3 3 ╱  4      2/3 3 ╱  4     2/3      3 ╱  4      2/3 3 ╱  4     2/3      
⎢2   ⋅╲╱  x      2   ⋅╲╱  x     2   ⋅√3⋅ⅈ⋅╲╱  x      2   ⋅╲╱  x     2   ⋅√3⋅ⅈ⋅
⎢────────────, - ──────────── - ─────────────────, - ──────────── + ──────────
⎣     2               4                 4                 4                 4 

   ____⎤
3 ╱  4 ⎥
╲╱  x  ⎥
───────⎥
       ⎦

⎡          ____           ____              ____             ____⎤
⎢ 4 ___ 4 ╱  3   4 ___ 4 ╱  3    4 ___   4 ╱  3   4 ___   4 ╱  3 ⎥
⎣-╲╱ 3 ⋅╲╱  x  , ╲╱ 3 ⋅╲╱  x  , -╲╱ 3 ⋅ⅈ⋅╲╱  x  , ╲╱ 3 ⋅ⅈ⋅╲╱  x  ⎦

        ____
 2/3 3 ╱  4 
2   ⋅╲╱  x  
────────────
     2      

         ____
4 ___ 4 ╱  3 
╲╱ 3 ⋅╲╱  x  

test (__main__.Test) ... ok

----------------------------------------------------------------------
Ran 1 test in 0.040s

OK
%