У меня странная проблема с моим оконным приложением. Его задача - вычислить корни полинома n-степени с помощью метода деления пополам или секущего метода, это зависит от желания пользователя. И теперь моя проблема начинается, потому что, если я добавлю определенный интервал в метод, он падает иногда после первого нажатия кнопки «звезда», но если это происходит через первый раз, во второй раз, если я настраиваю интервал [a, b] и вставляю в «a msgstr "результат первого go, он вылетает без ошибок. Я даже не упоминаю, что мой секущий метод сходит с ума, для некоторых интервалов ответы хороши, для некоторых они просто случайны.
def secant(self,f, a, b, err):
fb=f(b)
while np.absolute(fb)>err:
midPoint=b-(b-a)*fb/(fb-f(a))
a=b
b=midPoint
fb=f(b)
return b
#--------------------------------------------------------------
def bisection(self,f,a,b,err):
while np.absolute(b-a)>err:
midPoint=(a+b)*0.5
if f(midPoint)*f(a)<0:
b=midPoint
midPoint=(a+b)*0.5
if f(midPoint)*f(b)<0:
a=midPoint
midPoint=(a+b)*0.5
return midPoint