How to sum of the values of z corresponding to the ranges of x and y?

1 次查看(过去 30 天)
Hello,
I have a 3D matrix (x, y ,z) such as:
[1 -5 -2; 0 2 3; 2 -5 -2; -0.5 2 5; -0.8 3 3.5]
Can we find the sum of the values of z corresponding to the ranges of x and y in x, y and z?
For simple example, the sum of z values corresponding to -1<x<1 and 1<y<5.
Any suggestions?
Thank you!

回答(1 个)

Rik
Rik 2023-3-20
If your ranges grow more complex, you should try to define groups so you can use splitapply. But for this simple example you can simple use logical indexing on your 2D (not 3D) data.
data = [1 -5 -2; 0 2 3; 2 -5 -2; -0.5 2 5; -0.8 3 3.5];
x = data(:,1);
y = data(:,2);
z = data(:,3);
value = sum(z( x>=-1 & x<1 & y>=1 & y<5 ));
disp(value)
11.5000

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by