import matplotlib.pyplot as plt import numpy as np # Function calculating f(x): def f(x): return (x - 1)**2 + 3 # Function calculating dfdx with central difference: def dfdx(f_vec, h): deriverte = np.zeros(len(f_vec)) + np.nan for i in range(1, len(f_vec)-1, 1): deriverte[i] = (f_vec[i+1] - f_vec[i-1])/(2*h) return deriverte dx = 0.001 x_start = 0.0 x_stop = 3.0 N = int (( x_stop - x_start )/ dx + 1) x_koor = np.linspace(x_start, x_stop, N) f_func = f(x_koor) f_derivert = dfdx(f_func, dx) for i in range(0, len(f_derivert) - 1, 1): if f_derivert[i]*f_derivert[i+1] <= 0: print(round(x_koor[i], 2), round(f(x_koor[i]),2))