У меня есть небольшой проект для моего класса численного анализа, где я должен оценить несколько функций, используя разные методы, чтобы мы могли сравнить производительность и эффективность этих методов.Хотя большая часть моего кода работает нормально, одной из функций, которую мы должны оценить, является корень куба из x.Поскольку python использует основной корень, это приводит к расхождению методов.Я хочу иметь возможность использовать одно имя функции, чтобы мне не нужно было копировать и вставлять все, когда мне нужно использовать корневую функцию куба.Есть ли способ переопределить функцию во время выполнения?У меня нет реализованных классов, поэтому я не хочу вводить класс, если это возможно.Спасибо.
РЕДАКТИРОВАТЬ: моя основная функция такова:
def main():
global func, derv
func = 'pow(x,2)*sin(x)'
derv = '2*x*sin(x)+pow(x,2)*cos(x)'
print('evaluating x^2sin(x): ')
newton(-0.2,10**-4,20)
bisection(-0.9,1,10**-4,20)
fixed(-0.2,10**-4,20)
func = 'pow(x,2)*sin(x)-x'
derv = '2*x*sin(x)+pow(x,2)*cos(x)-1'
print('evaluating x^2sin(x)-x: ')
newton(-0.2,10**-4,20)
bisection(-0.9,1,10**-4,20)
fixed(-0.2,10**-4,20)
func = 'pow(x,1/3'
derv = '(1/3)*pow(x,(-2/3)'
print('evaluating cuberoot(x): ')
newton(-0.2,10**-4,20)
bisection(-0.9,1,10**-4,20)
fixed(-0.2,10**-4,20)
, а мои функции / производные функции:
def function(x):
y = eval(func)
return y
def function(x):
y = eval(func)
return y
функция и производные функции используются вдругие функции для оценки чисел для численных методов, которые я использую.Для корневой функции куба, поскольку методы будут иметь значения, отражающиеся между отрицательными и положительными числами, мне потребуется создать функцию или что-то еще, чтобы вернуть действительное значение.