Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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