Finding row index in a matrix in which the sum of the elements is greater than 1

6 次查看(过去 30 天)
I have the following matrix:
S=[1,0,0;0,1,0;1,1,0;0,1,1;0,0,1]
I want to find row indexes in which the sum of the elements is greater than 1.
How can I do this?
Thanks

采纳的回答

John D'Errico
John D'Errico 2023-2-17
编辑:John D'Errico 2023-2-17
Just do EXACTLY what you said. I'll break it down into pieces.
S=[1,0,0;0,1,0;1,1,0;0,1,1;0,0,1]
S = 5×3
1 0 0 0 1 0 1 1 0 0 1 1 0 0 1
sum(S,2) % sum of the rows
ans = 5×1
1 1 2 2 1
sum(S,2) > 1 % testing if they exceed 1
ans = 5×1 logical array
0 0 1 1 0
find(sum(S,2) > 1) % which rows satisfy that requirement?
ans = 2×1
3 4
When you have a problem that is larger than your current abilities, break it into small, managable pieces. Solve each part, one at a time. Then put it all together. Eat a programming elephant one byte at a time.

更多回答(1 个)

Mathieu NOE
Mathieu NOE 2023-2-17
hello
here you are
S=[1,0,0;0,1,0;1,1,0;0,1,1;0,0,1]
S = 5×3
1 0 0 0 1 0 1 1 0 0 1 1 0 0 1
row_sum = sum(S,2);
rw_ind = find(row_sum>1)
rw_ind = 2×1
3 4

类别

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

标签

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by