% Main script to evaluate the integral
a = 0; % lower limit
b = pi/2; % upper limit
I = trap1('f', a, b); % Call the trapezoidal function
disp(['Numerical integral using trapezoidal method: ', num2str(I)]);

% Calculate the analytic value using MATLAB's integral function
analytic_value = integral(@(x) x .* sin(x), a, b);
disp(['Analytic integral: ', num2str(analytic_value)]);

% Calculate the percentage error
percentage_error = abs((I - analytic_value) / analytic_value) * 100;
disp(['Percentage error: ', num2str(percentage_error), '%']);