def calculations(function_arguments, interpolation_arguments, interpolation_values): x = sp.Symbol('x') forward_interpolation_formula = forward_interpolation(interpolation_arguments, interpolation_values) print(forward_interpolation_formula) backward_interpolation_formula = backwards_interpolation(interpolation_arguments, interpolation_values) print(backward_interpolation_formula) forward_interpolation_coefficients = sp.Poly(forward_interpolation_formula, x).all_coeffs() print(forward_interpolation_coefficients) backward_interpolation_coefficients = sp.Poly(backward_interpolation_formula, x).all_coeffs() print(backward_interpolation_coefficients) polynomial_values = [] for argument in function_arguments: if argument < (function_arguments[-1] + function_arguments[0]) / 2: polynomial_values.append(get_polynomial_value(forward_interpolation_coefficients, argument)) else: polynomial_values.append(get_polynomial_value(backward_interpolation_coefficients, argument)) return polynomial_values
def get_function_formula(function_number): """ Function returning a formula from a number of built-in function :param function_number: a number of the given function :return: formula of the given function number """ x = sp.Symbol('x') if function_number == 1: return x - 3 elif function_number == 2: return get_polynomial_value([2, 1, -3, 7], x) elif function_number == 3: return 4 * sp.cos(x) + 6 * sp.sin(x) elif function_number == 4: return sp.sin(x + 2) - 1.6 else: print(""" Przekazano nieprawidlowa wartosc numeru wzoru funkcji do metody "wartoscFunkcji" """ ) return None
def get_function_value(x, function_number): """ Function returning a value of a function given by it's number :param x: name for the argument :param function_number: a number of the given function :return: value of the given function """ if function_number == 1: return x - 3 elif function_number == 2: return get_polynomial_value([2, 1, -3, 7], x) elif function_number == 3: return 4 * np.cos(x) + 6 * np.sin(x) elif function_number == 4: return np.sin(x + 2) - 1.6 else: print(""" Przekazano nieprawidlowa wartosc numeru wzoru funkcji do metody "wartoscFunkcji" """ ) return None