Using two logical vectors to extract data

1 view (last 30 days)
Matlab_G
Matlab_G on 21 Nov 2022
Answered: Walter Roberson on 21 Nov 2022
Hello,
I would like to find the average of row 3 elements only when row 1==2000 AND row 2==1. (The answer should be 4 in the example below)
example:
A=
2000 2000 2000 2001 2001
1 1 2 1 1
5 3 8 9 7
Is there a way of using logical vectors twice?
row1=A(1,:)==2000 && row2=A(2,:)==1 , then finding the average of the third row or would an if statement be better suited?
Thanks in advance

Answers (1)

Walter Roberson
Walter Roberson on 21 Nov 2022
mean(A(3, A(1,:) == 2000 & A(2,:) == 1))

Community Treasure Hunt

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

Start Hunting!