# MATLAB: How to calculate partial area under a graph

duplicate post requiring mergingtrapz

Hello,
I am trying to find the area as a part of a graph( Red area in the picture below). I am asking here a simplified question of my complext problem. The area is definitely 0.5. However, when I am using "trapz" function, It is giving me 4.5.
x=[0 1 2 3 4 5 10 15 20];y=[0 -1 -2 -3 -4 -5 0 5 0];plot(x,y)area=trapz(4:5)
Thanks, Frite

x=[0 1 2 3 4 5 10 15 20];y=[0 -1 -2 -3 -4 -5 0 5 0];yi = interp1(x, y, [4:5]);shaded_area = trapz([4:5],yi+5)plot(x,y)hold onpatch([4 5 5 4], [yi -5 -5], 'r')hold offshaded_area =   500.0000e-003