Python 無料で独習 【超特訓】Numpy20本ノック 07

Python
この記事は約2分で読めます。

Numpy20本ノック

問題その13 ユニバーサル関数 Part 1

Numpyに用意されている下記の数理的な関数を
こちらの行列にて実装してください。


問題文を聞いてもいまいちピンとこないのですが、
とりあえず行列を作成します。

A = np.array([[0,1],[2,4]])
A
array([[0, 1],
       [2, 4]])

ユニバーサル関数とは
Numpyの配列np.arrayの全要素に対して
要素ごとに演算などの処理を行なって
結果をNumpy型で返す関数

問題にある平方根を求めるには
np.sqrt(A)   Aに対して平方根を確認
でもとめることができます。

np.sqrt(A)
p.sqrt(A)
array([[0.        , 1.        ],
       [1.41421356, 2.        ]])

つぎの指数関数に関しましては
正直覚えていないというか、習ったかどうかも定かではありません(笑)
メソッドとしては
np.exp() でもとめることができるそうです。

np.exp(A)
array([[ 1.        ,  2.71828183],
       [ 7.3890561 , 54.59815003]])

問題その14 ユニバーサル関数 Part 2

Numpyに用意されている下記の数理的な関数を
こちらの行列にて実装してください。

うわぁ~sin   cos だぁ~懐かしい~(笑)
いちおう問題にある行列を内容はわかりませんが
コードで書いてみます。

A = np.array([0, np.pi, np.pi/2, -np.pi/4]).reshape(2,-1)
A
array([[ 0.        ,  3.14159265],
       [ 1.57079633, -0.78539816]])

Numpyには懐かしのsin とか cos とかがちゃんとあるみたいです。
そのまま実装してみます。
sin も cos もしっかり値は返ってきます。
内容はさっぱりわかりませんが(笑)

np.sin(A)
array([[ 0.00000000e+00,  1.22464680e-16],
       [ 1.00000000e+00, -7.07106781e-01]])

​np.cos(A)
array([[ 1.00000000e+00, -1.00000000e+00],
       [ 6.12323400e-17,  7.07106781e-01]])
​

コメント

タイトルとURLをコピーしました