(питон) решение трансцендентного уравнения

мне нужно решить следующее уравнение:

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

даны альфа и бета, мне просто нужно повторить x до определенной степени.

Я не великий программист на Python, но хотел бы реализовать это. Как это возможно?

С наилучшими пожеланиями


person ventavox    schedule 08.11.2016    source источник
comment
Возможный дубликат stackoverflow.com/questions/22742951/   -  person Stanislav Ivanov    schedule 08.11.2016
comment
это невозможно для меня. Может ли кто-нибудь попытаться получить x каким-то образом?   -  person ventavox    schedule 09.11.2016


Ответы (1)


Лучше всего было бы реализовать функцию решения, как рекомендовал Станислав. Вы не можете просто перебирать значения x, пока уравнение не достигнет 0 из-за арифметики с плавающей запятой. Вам нужно будет указать .floor или .ceil свое значение, чтобы избежать бесконечного цикла. Примером этого может быть что-то вроде:

x = 0

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

Здесь вы могли бы подумать, что x в конце концов достигает 10, когда он добавляет 0,1 к 9,9, но это будет продолжаться вечно. Теперь я не знаю, являются ли ваши значения целыми числами или числами с плавающей запятой, но я получаю следующее: не повторяйте. Используйте уже созданные библиотеки решений.

person MSJ    schedule 08.11.2016