停止停止と増分が、走った:私が実際にしたいことはあるnumpyのarangeいくつかのトラブルにスタート&、私はパラメータが開始与えられ、完全なリストを作成するnumpyの欲しい
In[2]: import numpy as np
In[3]: np.arange(2.0, 2.4, 0.2)
Out[3]: array([ 2. , 2.2])
In[4]: np.arange(2.0, 2.6, 0.2)
Out[4]: array([ 2. , 2.2, 2.4, 2.6])
In[5]: np.arange(2.0, 2.8, 0.2)
Out[5]: array([ 2. , 2.2, 2.4, 2.6])
:
array([ 2. , 2.2, 2.4])
ここで、浮動小数点データ型が固定値にならないようにする必要があることを知りました。スタート/ストップ/インクリメントに100を掛けるほうがよいとわかっていますが、問題は、ユーザーが何個の小数を供給するかを私には伝えられないということです。私はまだフロートでそれを行うことができる方法はありますか、これを解決する良い方法がありますか?
編集: これは、最終値に0.0000001を追加する明白な解決策で動作します。しかし、これは私のコードではひどいようです...私はこれをどうにかしてうまく修正したいと思います。
「linspace」が存在し、それを使用しようとしたことさえわかりませんでした。アイデアは素晴らしいですが、私は同じ問題に遭遇します: myList = [2.0、2.4、0.2]; num = int((myList [1] - myList [0])/ myList [2]); これは、おそらく2.4 - 2.0の結果が0.39999 – offeltoffel
として処理されるため、num = 1を返します。次に、a hackを使用することができます(編集済みの記事を参照)。許容されると思われる相対誤差に '1e-4'を適合させてください。それをユーザー変数として追加することもできます。 – Silmathoron
うん、これは動作します。私の付加価値が私が作成したいステップに干渉していないことを確認する良い方法。ありがとう! – offeltoffel