How to calculate mean value of a parameter within interval of other parameters
2 views (last 30 days)
Show older comments
Hi,
The title is perhaps not very clear...
I have a 3 vectors X, Y and Z of same dimension N.
I have also 2 intervals vectors containing the limit of each interval (wich are not necessary equidistant) of X and Y values: int_X (dimension i_X) and int_Y (dimension i_Y).
I want to calculate the mean value of Z for each interval of both int_X and int_Y (each "square" of the (int_X,int_Y) plane), and put the results in a matrix of dimension (i_X,i_Y).
Of course, I can do it with 2 "for" loops, but I would like to find a more elegant method without for loops.
0 Comments
Answers (1)
millercommamatt
on 26 Jun 2020
Assuming I've understood your description of your arrays correctly... i.e. that int_X and int_Y contain max and min values for the X and Y bounds respectively. e.g. X_int = [x_min, x_max];
Z_bounded = Z(X>int_X(1) & X<int_X(2) & Y>int_Y(1) & Y<int_Y(2));
mean(Z_bounded(:));
If there are multiple intervals defined, you could put the above in a for loop.
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!