2020年4月4日土曜日

学習環境

解析入門 原書第3版 (S.ラング(著)、松坂 和夫(翻訳)、片山 孝次(翻訳)、岩波書店)の第Ⅵ部(多変数の関数)、第19章(多変数の関数)、2(偏微分)の練習問題14の解答を求めてみる。


  1. f x , y = x y = e y log x f x = y x y - 1 f y = e y log x log x = x y log x

コード

#!/usr/bin/env python3
from unittest import TestCase, main
from sympy import symbols, Matrix, exp, log, Derivative, plot
from sympy.plotting import plot3d, plot_parametric
import random

print('14.')

x, y = symbols('x, y')
f = x ** y
dfdx = y * x ** (y - 1)
dfdy = x ** y * log(x)


class TestGrad(TestCase):
    def test_dx(self):
        self.assertEqual(Derivative(f, x, 1).doit().simplify(),
                         dfdx)

    def test_dy(self):
        self.assertEqual(Derivative(f, y, 1).doit(),
                         dfdy)


p = plot3d(f, (x, 5, 10), (y, 5, 10), show=False)
p.save('sample14.png')
p.xlabel = x
p.ylabel = y

p.show()

if __name__ == "__main__":
    main()

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

% ./sample14.py -v
14.
test_dx (__main__.TestGrad) ... ok
test_dy (__main__.TestGrad) ... ok

----------------------------------------------------------------------
Ran 2 tests in 0.241s

OK
%

0 コメント:

コメントを投稿