範囲を使用できます:
k_list = range(-4, 4)
しかし、それは整数のみを行います。ここでの問題は、ステップを指定することです。明らかに、-4 から 4 までの無限の小数があるため、移動する小数の数を指定する必要があります。
numpy.arange
範囲からリストを作成し、増分値を設定するために使用できます
例えば
k_list = numpy.arange(-4, 4, 0.5)
0.5ずつ増加します
>>> numpy.arange(-4, 4, 0.5)
>>> [-4, -3.5, -3, -2.5, -2, -1.5, -1, -0.5, 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4]
増分を小さくして値の範囲を広げたい場合は、0.5 を小さくします。
前述のように、その範囲には無限の小数があるため、増分を指定する必要があります。
リストを指定したら、関数を使用してリストを反復処理してルートを見つけることができます。
for k in k_list:
some_function(k)
return root
編集:
これが機能するには、もちろんkの根を見つける関数が必要ですが、私があなたの質問を正しく理解していれば、単純な例を使用するために、これはあなたの線形方程式である必要があります:(root = 2k
これを書く数学的な方法はコースy=2x
。
y=2x
簡単にするために、関数がスクリプトになる時点であるとだけ言っておきましょう
k_list = numpy.arange(-4, 4, 0.5)
for k in k_list:
root = 2*k
return root
k
次に、0.5 に独自の値を指定して、値が何桁になるかを決定します。
もちろん、二次形式を見ている場合を除きます。その場合、次のようなものがあるかもしれません
y = x^2 - 2x +2
これにより、質問が少し混乱します。設定することで明らかに x のルートを見つけることがy=0
できますが、これで、式ではなく合計を残して、指定した k の意味であると私が想像する変数が 1 つあります。
この場合y=k
、値を指定してk
解いてルートを見つけます。
例えば:
y = 32x^2 - 7.2x + 12
let y = k
k = 32x^2 - 7.2x +12
let k = -4 (we'd iterate through your range in reality)
4 = 32x^2 - 7.2x + 12
0 = 32x^2 - 7.2x + 8
and solve for x (aka. root)
同じ変数の複数のインスタンスを持つ式を解くためのnumpy
orメソッドがあると思います。scipy
私はどちらのライブラリの専門家でもないので、その方向でアドバイスすることはできません。
参照:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.roots.html
http://docs.scipy.org/doc/numpy/reference/generated/numpy.polyval.html# numpy.polyval