How to calculate partial area under a graph?

조회 수: 3 (최근 30일)
friet
friet 2016년 11월 29일
댓글: Star Strider 2017년 5월 10일
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
  댓글 수: 2
KSSV
KSSV 2016년 11월 29일
편집: Walter Roberson 2016년 11월 30일
friet
friet 2016년 11월 29일
편집: John Kelly 2016년 12월 12일
I ask another simplified version of the previous question.

댓글을 달려면 로그인하십시오.

채택된 답변

Star Strider
Star Strider 2016년 11월 29일
You are not coding the integration correctly to integrate the area you want.
Explore this and experiment with it:
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 on
patch([4 5 5 4], [yi -5 -5], 'r')
hold off
shaded_area =
500.0000e-003
  댓글 수: 2
Namira
Namira 2017년 5월 10일
I was looking your code. Why did you add 5 with yi in line 4? I can't understand it. Sorry I am not good at Matlab coding.
Star Strider
Star Strider 2017년 5월 10일
I added 5 because the area to be integrated goes from -5 to the line. The trapz function would otherwise integrate from 0 to the line. The offset ‘resets’ the 0 reference to -5.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Numerical Integration and Differentiation에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by