学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第20章(合成微分律と勾配ベクトル)、1(合成微分律)の練習問題3の解答を求めてみる。
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Rational
from sympy.plotting import plot3d
print('3.')
x, y, z = symbols('x, y, z')
f = (x ** 2 + y ** 2 + z ** 2) ** Rational(1, 2)
class TestPartialDerivative(TestCase):
def test_dx(self):
self.assertEqual(f.diff(x, 1),
x * (x ** 2 + y ** 2 + z ** 2) ** -Rational(1, 2))
def test_dy(self):
self.assertEqual(f.diff(y, 1),
y * (x ** 2 + y ** 2 + z ** 2) ** -Rational(1, 2))
p = plot3d(f.subs({z: 1}), show=True)
p.xlabel = x
p.ylabel = y
p.save('sample3.png')
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample3.py -v
3.
test_dx (__main__.TestPartialDerivative) ... ok
test_dy (__main__.TestPartialDerivative) ... ok
----------------------------------------------------------------------
Ran 2 tests in 0.014s
OK
%
0 コメント:
コメントを投稿