Why trapz is giving me negative area?

13 visualizaciones (últimos 30 días)
Azarang
Azarang el 31 de En. de 2025
Comentada: Azarang el 31 de En. de 2025
Hey all,
I have two vectors, frequency and power. I'm trying to get the area under the curve of the power plot but it ends up giving me a negative value. When I do trapz(power) alone, it's a positive value. diff(freq) is also positive. I'm attaching the data for your reference. Thanks!
  1 comentario
Matt J
Matt J el 31 de En. de 2025
Editada: Matt J el 31 de En. de 2025
You should get into the habit of demonstrating the issue you are posting about with code, as I have done below. As you can see, if I just guess the code you used, I don't reproduce what you say you are seeing.
P=load('power').power;
F=load('frequency').freq;
plot(F,P)
trapz(F,P)
ans = 3.3292e-10

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 31 de En. de 2025
The syntax of trapz() is trapz(X, Y) -- so independent variable followed by dependent variable.
If you trapz(freq, power) then you get a positive value.

Más respuestas (1)

Les Beckham
Les Beckham el 31 de En. de 2025
Editada: Les Beckham el 31 de En. de 2025
I get a positive value for the area.
load power.mat
load frequency.mat
plot(freq, power)
grid on
area = trapz(freq, power)
area = 3.3292e-10
Maybe you switched the X and Y arguments to trapz. See the doc for trapz. When there are two arguments X comes first.
trapz(power, freq)
ans = -3.3291e-10

Categorías

Más información sobre Numerical Integration and Differentiation en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2024b

Community Treasure Hunt

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

Start Hunting!

Translated by