Форум сайта python.su
Есть вот такой отрезок кода
def frange(start, end, step): t = start while t < end: yield t t += step def f(x, v): if v == 'log(x+4)+x^4': return log(x + 4) + x ** 4 elif v == '(e^(-x)*sin(x))/x': return (e ** (-x) * sin(x)) / x def integ(a, b, n, v): h = float((b - a)) / n s = 0 s = (((f(a, v) + f(b, v)) / 2) + s) for x in frange(a + h, b, h): s = f(x, v) + s s = s * h return s def calc_integ(): a = int(a_num.get()) b = int(b_num.get()) n = int(n_num.get()) v = (variable.get()) res = integ(a, b, n, v)
def diff1(x0, v, dx): ra = (((f(x0, v)*(x0+dx)) - (f(x0, v) * x0)) / dx) return ra def diff2(x0, v, dx): ra = (((f(x0, v) * (x0 + dx)) - (f(x0, v) * (x0 - dx))) / (2 * dx)) return ra def diff3(x0, v, dx): ra = (((f(x0, v)*(x0)) - (f(x0, v) * (x0 - dx))) / dx) return ra def calc_diff(): v = (variable.get()) x0 = float(x_num.get()) dx = float(dx_num.get()) ff = (e ** -(x0) * sin(x0)) / x0 if v == 'log(x+4)+x^4': res2 = diff1(x0, v, dx) res3 = diff2(x0, v, dx) res4 = diff3(x0, v, dx) else: res2 = (((ff*(x0+dx)) - (ff * x0)) / dx) res3 = (((ff * (x0 + dx)) - (ff * (x0 - dx))) / (2 * dx)) res4 = (((ff*(x0)) - (ff * (x0 - dx))) / dx) result2.configure(text=res2) result3.configure(text=res3) result4.configure(text=res4)
Офлайн
Решил проблему. Ошибка было изза моей невнимательности. Среди этих отрезков кода нет ответа на эту проблему.
Офлайн