2016-08-15から1日間の記事一覧

arrayの中から要素の位置をみつける

np.in1dを使うと、arrayの中から特定した要素と一致するindexを探せる。 a=np.array([0,0,0,1,1,2,2]) b=np.array([1,2]) np.in1d(a,b) Out[51]: array([False, False, False, True, True, True, True], dtype=bool)

ベクトルの繰り返しでmatrixをつくる

一次元のarrayの繰り返しでmatrixを作る機会はそれなりに多い。Matlabではonesとのクロネッカー積を使っていたが、pythonでは代わりにrepeatとtileを使っている。 a=np.arange(3) a Out[0]: array([0, 1, 2]) 列ベクトルとみなして行方向に繰り返すなら、rep…

scipy.optimize: argsの付け方

方法1:inputにアスタリスクをつけてタプルで受け取れるようにする。 def func(x,*a): return np.sum((x-a)**2)+1 scipy.optimize.minimize(func,x0=np.array([7,10,3.]),method='SLSQP',args=(2.5, )) 方法2:関数自体を返す関数を作る。 def make_func()…

scipy.optimize:制約条件の付け方

import numpy as np import scipy.optimize def func(x): return np.sum((x-2.5)**2)+1 inequality constraintは、returnが正であるような形で関数を書いて指定する。 def con1(x): return 2-x[0] cons1 = ({'type':'ineq','fun':con1}) boundaryはnp.array…