How can I make a integration with trapz?
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
shahin sharafi
le 21 Avr 2022
Commenté : shahin sharafi
le 27 Avr 2022
Hi everyone,
I have x and y vectors, and ploted y verses x as below:
v=[2.2696;2.2696; 2.4646;2.4646;2.6775;2.6775; 2.9101;2.9101;3.1644];
x=[0 , -0.0476 , -0.0476 , -0.0952 , -0.0952 , -0.1429 , -0.1429 , -0.1905 ,-0.1905];
plot (x,v)
I want to find the inegral (The area under the curve) of curve in range of x=[0 and -0.08]. How can I do that?
Thank you in advance,
0 commentaires
Réponse acceptée
Bruno Luong
le 21 Avr 2022
Note: The value is negative since x goes backward.
v=[2.2696;2.2696; 2.4646;2.4646;2.6775;2.6775; 2.9101;2.9101;3.1644];
x=[0 , -0.0476 , -0.0476 , -0.0952 , -0.0952 , -0.1429 , -0.1429 , -0.1905 ,-0.1905];
b=x<=0 & x>=-0.08;
xx=[x(b),-0.08];
vv=[v(b);NaN];
trapz(xx,fillmissing(vv,'previous'))
2 commentaires
Davide Masiello
le 21 Avr 2022
I think that since the function lies all above the x axis, the area should be positive.
Bruno Luong
le 21 Avr 2022
I don't compute the area but the integral with trapz with x going backward, so it return negative of the area, as noted in my answer.
Plus de réponses (2)
Davide Masiello
le 21 Avr 2022
Modifié(e) : Davide Masiello
le 21 Avr 2022
I don't think you really need trapz for this function
clear,clc
x=[0,-0.0476,-0.0476,-0.0952,-0.0952,-0.1429,-0.1429,-0.1905,-0.1905];
y=[2.2696;2.2696; 2.4646;2.4646;2.6775;2.6775; 2.9101;2.9101;3.1644];
plot (x,y)
x1 = [0,-0.0476,-0.0476,-0.08];
y1 = [2.2696;2.2696; 2.4646;2.4646];
dx = diff(unique(x1,'stable'))
dy = unique(y1,'stable')'
area = abs(sum(dx.*dy))
4 commentaires
Bruno Luong
le 21 Avr 2022
Modifié(e) : Bruno Luong
le 21 Avr 2022
Check again. There are 2 steps I give the manual formula and value above: 0.1879
Davide Masiello
le 21 Avr 2022
The answer was indeed wrong because unique sorts the output unless specified otherwise. I fixed it and now it works. I also implemented to calculate the absolute value so the area comes out positive.
shahin sharafi
le 25 Avr 2022
2 commentaires
Bruno Luong
le 25 Avr 2022
@shahin sharafi Only you can decide
"I want to find the inegral (The area under the curve)"
integral has sign changing with x direction, area has not.
You also stated you want using trapz.
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!