示例#1
0
 def __get_results(self, x0, y0, x, h):
     """
     Return pd.DataFrame object of the results of numerical methods and the analytical solution
     :param x0: initial position on x-axis
     :param y0: f(x0)
     :param x: final position on x-axis
     :param h: a grid step
     :return: pd.DateFrame object
     """
     dic = dict()
     x_list, y_list = self.methods.euler_method(Variant.func, x0, y0, h, x)
     dic[self.x_column] = x_list
     dic[self.columns[0]] = Variant.solution(x_list, x0, y0)
     dic[self.columns[1]] = y_list
     _, y_list = self.methods.improved_euler_method(Variant.func, x0, y0, h,
                                                    x)
     dic[self.columns[2]] = y_list
     _, y_list = self.methods.runge_kuffa_method(Variant.func, x0, y0, h, x)
     dic[self.columns[3]] = y_list
     df = pd.DataFrame(dic)
     df.fillna(0.0, inplace=True)
     return df