Counting the number of elements that match between a vector and a matrix

I'm looking to count the number of elements that match between a vector and a matrix. I've used the code below:
K= magic(10);
vec=[0 3 7 9 11];
for i= 1:length(vec),
sum(sum(K==vec(i))),
end
This keeps giving me a string of "ans=1" values, rather than the total number of elements that match up (It should be 4 that match). What can I change?

 Akzeptierte Antwort

nnz(ismember(K,vec))

3 Kommentare

comment by Natalie Culhane (copy):
Perfect, thank you. Is there an alternative to using nnz?
Hi Natalie!
variant without nnz :
sum(ismember(K(:),vec)) % corrected after comment by Azzi
idx=ismember(K,vec)
out=sum(idx(:))

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Sparse Matrices finden Sie in Hilfe-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