Return logical for rows of non-zero numbers for specified columns (similar to "all" function)

Hi. I need to calculate a logical from a 1x3 matrix (although the number of columns is irrelevant) that tells me if non-zero numbers are in specified columns.
For example, if I have the following matrix callled mat:
4 16 2
6 7 7
1 4 8
0 5 19
3 0 5
9 0 16
x = all(mat,2)
x here would return a logical array where each row equaling "1" will have ALL non-zero numbers. In mat, this would only be the first 3 rows, and thus x = [1 1 1 0 0 0];
My question is whether there is an easy line of code or existing function that would allow me to specifiy which columns I would like to be non-zero in order for the logical to spit out a ero. For example, if I wanted all rows where columns 1 and 3 are non-zero, the logical that is returned should be something like this: x = [0 0 0 0 1 1] since only the last two rows fit that criteria.
Or if I wanted all rows where columns 2 and 3 were non-zero, it should return x = [0 0 0 1 0 0]
Thanks in advance!

1 Kommentar

For example, if I wanted all rows where columns 1 and 3 are non-zero, the logical that is returned should be something like this: x = [0 0 0 0 1 1] since only the last two rows fit that criteria.
Why don't the first 3 rows fit the criteria? Shouldn't the result be x = [1,1,1 0 1 1]

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Matt J
Matt J am 10 Aug. 2021
Bearbeitet: Matt J am 10 Aug. 2021
For example, if I wanted all rows where columns 1 and 3 are non-zero
This would be,
all(mat(:,[1,3]),2)

3 Kommentare

Ah yes. Thank you. But I was hoping to have the ones where they had all 3 excluded. But I can use this and just subtract the ones that have the 2nd column.
Like so:
all(mat(:,[1,3]),2) - all(mat(:,2),2)
Better to do,
all(mat(:,[1,3]),2) & ~all(mat,2)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Produkte

Version

R2021a

Gefragt:

am 10 Aug. 2021

Kommentiert:

am 10 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by