How to calculate partial area under a graph?
    7 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
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 commentaires
  KSSV
      
      
 le 29 Nov 2016
				
      Modifié(e) : Walter Roberson
      
      
 le 30 Nov 2016
  
			You have asked the same question....and it got answered too.... http://www.mathworks.com/matlabcentral/answers/314470-how-can-i-calculate-the-area-under-a-graph-shaded-area
Réponse acceptée
  Star Strider
      
      
 le 29 Nov 2016
        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 commentaires
  Namira
 le 10 Mai 2017
				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
      
      
 le 10 Mai 2017
				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.
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Numerical Integration and Differentiation dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



