how to search about a matrix in a cell?

3 Ansichten (letzte 30 Tage)
Sarah A
Sarah A am 19 Jan. 2019
Kommentiert: Sarah A am 19 Jan. 2019
Hello,
Suppose that I have the cell matrix A which contains the following elements:
A={
[0;0] [0;1]
[1;0] [0;0]
}
So I want to use a line of code that can count how many [0;0] are in each row ?
Regards,

Akzeptierte Antwort

Guillaume
Guillaume am 19 Jan. 2019
Bearbeitet: Guillaume am 19 Jan. 2019
it's always a good idea to give the result you expect for your example to avoid ambiguity.
A={
[0;0] [0;1]
[1;0] [0;0]
}
sum(cellfun(@(x) isequal(x, [0;0]), A), 2)
results in
ans =
1
1
count of [0;0] in each row.

Weitere Antworten (1)

madhan ravi
madhan ravi am 19 Jan. 2019
Bearbeitet: madhan ravi am 19 Jan. 2019
Sarah's (OP) example:
A={ ...
[0;0] [0;1]
[1;0] [0;0]
};
counts=nnz(~cellfun(@any,A))
Gives:
counts =
2
Stephen's example:
A={[0;0] [0;1] [1;0] [0;0] [0;0]};
counts=nnz(~cellfun(@any,A))
Gives:
counts =
3
  5 Kommentare
madhan ravi
madhan ravi am 19 Jan. 2019
check the edited answer
Sarah A
Sarah A am 19 Jan. 2019
Yes this code work with me:
A={ ...
[0;0] [0;1]
[1;0] [0;0]
};
counts=nnz(~cellfun(@any,A))
but what if I want to count how many [0;0] in each row? how many [0;1] in each row? how many [1;1] in each row?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Multidimensional Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by