2016-07-29 6 views
0

私はPythonで作業しています。私は、均等なグリッドの代わりに配列のステップサイズを変えたい角度量を持っています。これはnp.linspace(0, pi, 100)のように100等分することができます。代わりに、私は0とpiに近い値に対してより多くの「分解能」(すなわちより小さなステップサイズ)を求め、π/ 2ラジアンに近いより大きなステップサイズを求めます。既にnumpyやその他の方法で提供されている手法を使って、これをPythonで実装する簡単な方法はありますか?配列の差分ステップサイズ

+0

おそらく 'np.logspace'を見てください。 – Divakar

+0

numpy配列またはpythonリストが必要ですか? – Brendan

+0

numpyの配列かpythonのリストのどちらかになります – user4437416

答えて

1

はここで途中で両端に近い間隔で配列を構築するためにnp.r_を使用する方法だし、広い:

In [578]: x=np.r_[0:.09:10j, .1:.9:11j, .91:1:10j] 
In [579]: x 
Out[579]: 
array([ 0. , 0.01, 0.02, 0.03, 0.04, 0.05, 0.06, 0.07, 0.08, 
     0.09, 0.1 , 0.18, 0.26, 0.34, 0.42, 0.5 , 0.58, 0.66, 
     0.74, 0.82, 0.9 , 0.91, 0.92, 0.93, 0.94, 0.95, 0.96, 
     0.97, 0.98, 0.99, 1. ]) 

その後、np.pixを拡張します。

これはnp.r_が作成された種類のものです。特別なことをしているわけではありません。それはと同じようにやっている:間隔でスムーズなグラデーションについて

np.concatenate([np.linspace(0,.09,10), 
       np.linspace(.1,.9,11), 
       np.linspace(.91,1,10)]) 

、私は曲線で、単一のlinspaceをマッピング試してみました。

In [606]: x=np.arctan(np.linspace(-10,10,10)) 
In [607]: x -= x[0] 
In [608]: x /= x[-1] 
In [609]: x 
Out[609]: 
array([ 0.  , 0.00958491, 0.02665448, 0.06518406, 0.21519086, 
     0.78480914, 0.93481594, 0.97334552, 0.99041509, 1.  ]) 
+0

きれいで親切な答えをありがとう – user4437416