学習環境
- Surface
 - Windows 10 Pro (OS)
 - Nebo(Windows アプリ)
 - iPad
 - MyScript Nebo - MyScript(iPad アプリ(iOS))
 - 参考書籍
 
続 解析入門 (原書第2版) (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第2章(ベクトルの微分)、1(微分係数)の練習問題19の解答を求めてみる。
よって、 問題の曲線と平面は2点で交わり、その2点は
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, solve, Matrix
from sympy.plotting import plot3d_parametric_line, plot3d
print('19.')
t, x, y, z = symbols('t, x, y, z', real=True)
x1 = 2 * t ** 2
y1 = 1 - t
z1 = 3 + t ** 2
eq = 3 * x - 14 * y + z - 10
zs = solve(eq, z)
class Test(TestCase):
    def test(self):
        ts = solve(eq.subs({x: x1, y: y1, z: z1}))
        self.assertEqual(set(ts), {-3, 1})
        self.assertEqual(
            {(x1.subs({t: t0}), y1.subs({t: t0}), z1.subs({t: t0}))
             for t0 in ts},
            {(18, 4, 12), (2, 0, 4)}
        )
colors = ['red', 'green', 'blue', 'brown', 'orange',
          'purple', 'pink', 'gray', 'skyblue', 'yellow']
p = plot3d(*zs, show=False)
p.append(plot3d_parametric_line(
    2 * t ** 2, 1 - t, 3 + t ** 2,
    (t, -4, 2),
    show=False,
    legend=False,
)[0])
p.xlabel = x
p.ylabel = y
for o, color in zip(p, colors):
    o.line_color = color
p.save(f'sample19.png')
p.show()
if __name__ == "__main__":
    main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample19.py -v
19.
test (__main__.Test) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.014s
OK
%
0 コメント:
コメントを投稿