Overestimation of mean with trapz

6 次查看(过去 30 天)
Hi,
I'm using trapz(x,y) to find the mean value of a portion of a signal.
x = [0.3 0.3 0.3 0.4 0.5 0.5 0.6 0.7 0.8 0.9 1.0 1.1 1.2 1.2 1.3 1.4 1.4 1.5 1.5];
y = [14.0 15.8 15.8 16.3 19.7 23.5 25.2 27.1 28.4 29.1 30.3 30.6 30.6 30.5 30.5 30.4 30.4 30.4 30.3];
The maximum value in y is 30.6. However, trapz(x,y) = 32.3.
Why is the mean value estimated by trapz greater than the maximum value of the dataset? I thought maybe the spacing was too coarse and tried interpolating on a much finer grid, but the trapz mean still exceeded the maximum value of y.
Thanks for any help!

采纳的回答

Star Strider
Star Strider 2017-6-19
The mean is defined as the integral of ‘y(x)’ from ‘x=a’ to ‘x=b’ divided by ’(b-a)’:
trapz_mean = trapz(x,y)/(max(x)-min(x));
trapz_mean =
26.9292
  2 个评论
Emily
Emily 2017-6-19
Thanks! I thought the division by the range was implicit.
Star Strider
Star Strider 2017-6-19
My pleasure!
In the mean function, it is. Calculating it using numerical (or symbolic) integration, it is not.

请先登录,再进行评论。

更多回答(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