How can I make a integration with trapz?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
N/A
el 21 de Abr. de 2022
Comentada: N/A
el 27 de Abr. de 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 comentarios
Respuesta aceptada
Bruno Luong
el 21 de Abr. de 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 comentarios
Davide Masiello
el 21 de Abr. de 2022
I think that since the function lies all above the x axis, the area should be positive.
Bruno Luong
el 21 de Abr. de 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.
Más respuestas (2)
Davide Masiello
el 21 de Abr. de 2022
Editada: Davide Masiello
el 21 de Abr. de 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 comentarios
Bruno Luong
el 21 de Abr. de 2022
Editada: Bruno Luong
el 21 de Abr. de 2022
Check again. There are 2 steps I give the manual formula and value above: 0.1879
Davide Masiello
el 21 de Abr. de 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.
N/A
el 25 de Abr. de 2022
2 comentarios
Bruno Luong
el 25 de Abr. de 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.
Ver también
Categorías
Más información sobre Numerical Integration and Differentiation en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!