ベクトルの微分 曲線の長さ、スパイラル、三角関数(正弦と余弦)、速度ベクトル、積分
続 解析入門 (原書第2版) (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第2章(ベクトルの微分)、2(曲線の長さ)の練習問題1の解答を求めてみる。
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import sin, cos, Matrix, Integral, Derivative, sqrt
from sympy.plotting import plot3d_parametric_line
from sympy.abc import t
print('1.')
X = Matrix([cos(t), sin(t), t])
X1 = Derivative(X, t, 1).doit()
class Test(TestCase):
def test(self):
self.assertEqual(
Integral(X1.norm(), (t, 0, 1)).doit().simplify(),
sqrt(2)
)
p = plot3d_parametric_line(
(*X, (t, -10, 0)),
(*X, (t, 0, 1)),
(*X, (t, 1, 10)),
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.xlabel = 'x'
p.ylabel = 'y'
p.save('sample1.png')
p.show()
if __name__ == "__main__":
main()
入出力結果
% ./sample1.py -v
1.
test (__main__.Test) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.639s
OK
%