2019年9月13日金曜日

学習環境

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



    1. dx dt , dy dt = a , b - g t

    2. 時刻。

      t > 0 b t - 1 2 g t 2 = 0 t b - 1 2 g t = 0 b - 1 2 g t = 0 t = 2 b g

      距離。

      x = 2 a b g

    3. 時刻。

      b - g t = 0 t = b g

      高さ。

      y = b · b g - 1 2 g · b 2 g 2 = b 2 g - 1 2 b 2 g = b 2 2 g

      質点が最高の高さに達するときの水平距離。

      x = a b g

      よって、

      O P -

      の半分に等しい。

コード

Python 3

#!/usr/bin/env python3
from sympy import pprint, symbols, Derivative, plot, solve, sqrt
from sympy.plotting import plot_parametric
import random

print('26.')

a, b, g = symbols('a, b, g', positive=True)
t = symbols('t', nonnegative=True)
x = a * t
y = b * t - g * t ** 2 / 2

print('ⅰ')

pprint([Derivative(z, t).doit() for z in [x, y]])

print('\nⅱ')
ts = solve(y, t)
pprint(ts)
print()
pprint(x.subs({t: ts[1]}))

print('\nⅲ')

ts = solve(Derivative(y, t).doit(), t)
pprint(ts)
print()
pprint(y.subs({t: ts[0]}))

print('\nⅳ')
pprint(x.subs({t: ts[0]}))

a_list = []
b_list = []
t_list = []
p_list = []
g0 = 9.8
for _ in range(10):
    b0 = random.randrange(1, 11)
    d = {a: random.randrange(1, 11), b: b0, g: g0}
    p_list.append((x.subs(d), y.subs(d), (t, 0, 2 * b0 / g0)))

p = plot_parametric(*p_list, 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('sample26.png')

入出力結果(Bash、cmd.exe(コマンドプロンプト)、Terminal、Jupyter(IPython))

C:\Users\...>py sample26.py
26.
ⅰ
[a, b - g⋅t]

ⅱ
⎡   2⋅b⎤
⎢0, ───⎥
⎣    g ⎦

2⋅a⋅b
─────
  g  

ⅲ
⎡b⎤
⎢─⎥
⎣g⎦

  2
 b 
───
2⋅g

ⅳ
a⋅b
───
 g 

c:\Users\...>

0 コメント:

コメントを投稿