2020年7月30日木曜日

学習環境

続 解析入門 (原書第2版) (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第2章(ベクトルの微分)、1(微分係数)の練習問題16の解答を求めてみる。



    1. X = ( cos 4 · π 8 , sin 4 · π 8 , π 8 ) + s ( - 4 · sin 4 · π 8 , 4 cos 4 · π 8 , 1 )
      X = ( 0 , 1 , π 8 ) + s ( - 4 , 0 , 1 )

    2. X = ( 1 , 2 , 1 ) + t ( 1 , 2 , 2 )

    3. X = ( e 3 , e - 3 , 3 2 ) + t ( 3 e 3 , - 3 e - 3 , 3 2 )

    4. X = ( 1 , 1 , 1 ) + t ( 1 , 3 , 4 )

コード

#!/usr/bin/env python3
from sympy import Matrix, Derivative, sqrt, exp
from sympy.plotting import plot3d_parametric_line
from sympy.abc import t

print('16.')

ps = [
    (t, 2 * t, t ** 2),
    (exp(3 * t), exp(-3 * t), 3 * sqrt(2) * t),
    (t, t ** 3, t ** 4)
]
for i, p in enumerate(ps):
    a = chr(ord("b") + i)
    print(f'({a})')
    colors = ['red', 'green', 'blue', 'brown', 'orange',
              'purple', 'pink', 'gray', 'skyblue', 'yellow']
    m = Matrix(p)
    b = Derivative(m, t, 1).doit()
    p = plot3d_parametric_line(
        (*p, (t, -5, 5)),
        (*(m.subs({t: 1}) + t * b.subs({t: 1})), (t, -5, 5)),
        show=False,
        legend=True,
    )
    for o, color in zip(p, colors):
        o.line_color = color
    p.save(f'sample16_{a}.png')
p.show()

入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))

% ./sample16.py
16.
(b)
(c)
(d)
%

0 コメント:

コメントを投稿