2017年10月13日金曜日

学習環境

解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第2部(微分と基本的な関数)、第7章(逆関数)、4(逆正接関数)、練習問題31.を取り組んでみる。


  1. 時間をt秒、ヘリコプターの高さをxフィート、出発地点から観測者の距離をy、観測者がヘリコプターを見る角(視角)をθとおく。

    dx dt =15 dy dt =80 tanθ= x y θ=arctan x y+100 dθ dt = 1 1+ ( x y+100 ) 2 · d dt ( x y+100 ) = 1 1+ ( x y+100 ) 2 · dx dt ( y+100 )x d dt ( y+100 ) ( y+100 ) 2 = 1 1+ ( x y+100 ) 2 · 15( y+100 )x dy dt ( y+100 ) 2 = 1 1+ ( x y+100 ) 2 · 15( y+100 )80x ( y+100 ) 2 = 5( 3( y+100 )16x ) ( y+100 ) 2 + x 2

    1. 観測者が基地から400フィートの地点のとき、y = 400 - 100 = 300なので、300 / 80 秒経過している、よって、x = 300 / 80 × 15となる。

      dθ dt = 5( 3( 300+100 )16· 300 80 ·15 ) ( 300+100 ) 2 + ( 300 80 ·15 ) 2 = 5( 3( 300+100 )300·3 ) 400 2 + ( 300 16 ·3 ) 2 = 15( ( 300+100 )300 ) 400 2 + ( 300 16 ·3 ) 2 = 15·100 400 2 + ( 300 16 ·3 ) 2 = 15 40 2 + ( 15 8 ·3 ) 2 = 15 40 2 + ( 45 8 ) 2 ( / )

    2. 観測者が基地から600フィートの地点のとき、y = 600 - 100 = 500なので、500 / 80 秒経過している、よって、x = 500 / 80 × 15となる。

      dθ dt = 5( 3( 500+100 )16· 500 80 ·15 ) ( 500+100 ) 2 + ( 500 80 ·15 ) 2 = 5( 3·600500·3 ) 600 2 + ( 500 16 ·3 ) 2 = 5( 3·65·3 ) 60 2 + ( 50 16 ·3 ) 2 = 5( 1815 ) 60 2 + ( 150 16 ) 2 = 5·3 60 2 + ( 150 16 ) 2 = 15 60 2 + ( 75 8 ) 2 ( / )

コード(Emacs)

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Rational

print('31.')
x, y = symbols('x y')
f = (5 * (3 * (y + 100) - 16 * x)) / ((y + 100) ** 2 + x ** 2)
xy = [(Rational(300 , 80) * 15, 300,
       Rational(15, 40 ** 2 + (Rational(45, 8) ** 2))),
      (Rational(500, 80) * 15, 500,
       Rational(15, 60 ** 2 + Rational(75, 8) ** 2))]
      
for x0, y0, y1 in xy:
    print(f.subs({x:x0, y:y0}) == y1)

入出力結果(Terminal, Jupyter(IPython))

$ ./sample31.py
31.
True
True
$

0 コメント:

コメントを投稿