Мне удалось создать код, в котором я могу оценить площадь под кривой, используя правило Трапеции. Что я пытаюсь сделать, это построить соответствующий график. Я использовал x ^ 2 в качестве примера, и на рисунке я добавил a = -5, b = 5 и n = 3. И оригинальный график x ^ 2 не подходит, а скорее является слиянием между синими и зелеными линиями. Может кто-нибудь помочь исправить это? Спасибо.
Рисунок 1
% Trapezium Rule
f=@H; % Input Function
a=input('Enter lower limit a: ');
b=input('Enter upper limit b: ');
n=input('Enter the no. of interval: ');
h=(b-a)/n;
sum=0;
% Sum of f(x_1) to f(x_n+1)
for k=1:1:n+1
x(k)=a+k*h;
y(k)=f(x(k));
sum=sum+y(k);
end
hold on
plot(x, y,'bo-');
% drawing of the function
plot([x(1:end); x(1:end)], [zeros(1,length(y)); y(1:end)], 'r-');
% vertical lines from the points
plot([x(1:end-1); x(2:end)], [y(1:end-1) ; y(1: end)], 'g--');
% Meant to be forming a trapizium
hold off
answer = (h*0.5)*(sum);
% answer=h/2*(f(a)+f(b)+2*sum);
fprintf('\n The value of integration is %f',answer);
function y = H(x)
y = x.^2;
end