学習環境
- Surface
- Windows 10 Pro (OS)
- Nebo(Windows アプリ)
- iPad
- MyScript Nebo - MyScript(iPad アプリ(iOS))
- 参考書籍
解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第20章(合成微分律と勾配ベクトル)、3(方向微分係数)の練習問題3の解答を求めてみる。
よって、温度の最大増加の向きは
最大減少向きは
コード
#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Matrix, sin, cos, Rational, sqrt, pi
from sympy.plotting import plot3d
print('3.')
x, y = symbols('x, y')
f = 10 + 6 * cos(x) * cos(y) + 3 * cos(2 * x) + 4 * cos(3 * y)
gradf = Matrix([f.diff(o, 1) for o in [x, y]])
p = {x: pi / 3, y: pi / 3}
gradfp = gradf.subs(p)
class TestGrad(TestCase):
def test(self):
self.assertEqual(gradfp,
Matrix([-9 * sqrt(3) / 2, - 3 * sqrt(3) / 2]))
p0 = plot3d(f,
(x, -5, 5),
(y, -5, 5),
show=False)
p0.show()
p0.save('sample3.png')
if __name__ == "__main__":
main()
入出力結果(Zsh、PowerShell、Terminal、Jupyter(IPython))
% ./sample3.py -v
3.
test (__main__.TestGrad) ... ok
----------------------------------------------------------------------
Ran 1 test in 0.001s
OK
%
0 コメント:
コメントを投稿