dx = 0.01;x = 0:dx:2*pi;signal = sin(x).*cos(10*x);dsignaldx_true = cos(x).*cos(10*x) - 10*sin(x).*sin(10*x);dsignaldx_forward = ForwardO1(signal, x);dsignaldx_central = for i = enderror_forward_max = max(abs(dsignaldx_forward(2:end-1) - dsignaldx_true(2:end-1)));fprintf('The maximum relative error encountered when using forward differencing with O(dx) error is %f\n', error_forward_max)error_central_max = fprintf('The maximum error encountered when using central differencing with O(dx^2) error is %f\n', error_central_max)error_forward_average = mean(abs(dsignaldx_forward(2:end-1) - dsignaldx_true(2:end-1)));fprintf('The average error encountered when using forward differencing with O(dx) error is %f\n', error_forward_average)error_central_average = fprintf('The average error encountered when using central differencing with O(dx^2) error is %f\n', error_central_average)
MATLAB: Calculate derivative using central differencing
central difference
Best Answer