def plot_max_error_graph(self, limit, IVPx, IVPy, delta): euler_max_error_vector = [] imp_euler_max_error_vector = [] rk_max_error_vector = [] err_x_vector = [] N = int((limit - IVPx) / delta) for i in range(1, N): err_x_vector.append(i) for i in range(1, N): delta = float(float((limit - IVPx)) / i) if delta == 0: delta = float(1) computer = Computation(IVPx, IVPy, delta, limit) euler_x_vector, euler_y_vector, imp_euler_x_vector, imp_euler_y_vector, \ rk_x_vector, rk_y_vector, exact_x_vector, exact_y_vector = computer.compute(delta, IVPx, IVPy, limit) euler_error_vector, imp_euler_error_vector, rk_error_vector = computer.get_local_errors( euler_x_vector, euler_y_vector, imp_euler_x_vector, imp_euler_y_vector, rk_x_vector, rk_y_vector, exact_x_vector, exact_y_vector) print(delta, max(euler_error_vector), max(imp_euler_error_vector), max(rk_error_vector)) euler_max_error_vector.append(max(euler_error_vector)) imp_euler_max_error_vector.append(max(imp_euler_error_vector)) rk_max_error_vector.append(max(rk_error_vector)) pyplot.figure() pyplot.plot(err_x_vector, euler_max_error_vector, label="Euler") pyplot.plot(err_x_vector, imp_euler_max_error_vector, label="Improved Euler") pyplot.plot(err_x_vector, rk_max_error_vector, label="Runge-Kutta") pyplot.suptitle("Error-Step size graph") pyplot.xlabel("Step size") pyplot.ylabel("Error") pyplot.legend(loc="upper left") pyplot.show()