def set_table(self, X, Y, n): self.__X = copy.copy(X) self.__Y = copy.copy(Y) self.__n = n A_elems = [] B_elems = [] for k in range(n + 1): for i in range(n + 1): coef = 0 for x in X: coef += x**(k + i) A_elems.append(coef) b = 0 for x, y in zip(X, Y): b += y * x**k B_elems.append(b) A = Matrix(n + 1, elems=A_elems) B = Matrix(n + 1, 1, B_elems) self.A = A self.B = B eq = Equation(A, B) self.__a = eq.analytic_solution().to_list()
import context from matrix import Matrix from equation import Equation A = Matrix(4, elems = [-7, 3, -4, 7, 8, -1, -7, 6, 9, 9, 3, -6, -7, -9, -8, -5] ) B = Matrix(1, 4, [-126, 29, 27, 34]) B = B.transpose() eq = Equation(A, B) X = eq.analytic_solution() print("Answer:") print(X) print() print("Calculated:") print(A * X) print() print("Given:") print(B)