Processing math: 100%

2017年10月13日金曜日

学習環境

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


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

    dxdt=15dydt=80tanθ=xyθ=arctanxy+100dθdt=11+(xy+100)2·ddt(xy+100)=11+(xy+100)2·dxdt(y+100)xddt(y+100)(y+100)2=11+(xy+100)2·15(y+100)xdydt(y+100)2=11+(xy+100)2·15(y+100)80x(y+100)2=5(3(y+100)16x)(y+100)2+x2

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

      dθdt=5(3(300+100)16·30080·15)(300+100)2+(30080·15)2=5(3(300+100)300·3)4002+(30016·3)2=15((300+100)300)4002+(30016·3)2=15·1004002+(30016·3)2=15402+(158·3)2=15402+(458)2(/)

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

      dθdt=5(3(500+100)16·50080·15)(500+100)2+(50080·15)2=5(3·600500·3)6002+(50016·3)2=5(3·65·3)602+(5016·3)2=5(1815)602+(15016)2=5·3602+(15016)2=15602+(758)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 コメント:

コメントを投稿