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]])
コメント