0

次の方程式を解く必要があります。

0 = -1 / x**0.5) - 2 * log((alpha * x**0.5) + beta)

alpha と beta が与えられているので、x をある程度まで反復するだけです。

私は優れた Python プログラマーではありませんが、これを実装するのは好きです。これはどのように可能でしょうか?

よろしくお願いします

4

1 に答える 1

0

最も賢明な方法は、スタニスラフが推奨するようなソルブ関数を実装することです。浮動小数点演算が原因で、式が 0 に達するまで x の値を繰り返すことはできません。無限ループを回避するには、値を .floor または .ceil にする必要があります。この例は次のようになります。

x = 0

while True:
    x += 0.1
    print(x)
    if x == 10:
        break

ここで、x は 0.1 に 9.9 を足すと最終的に 10 に達すると思いますが、これは永遠に続きます。さて、あなたの値が整数か浮動小数点数かはわかりませんが、私が得ているのは次のとおりです。反復しないでください。ビルド済みのソルブ ライブラリを使用します。

于 2016-11-08T15:13:27.800 に答える