# Count the number of occurrences in a string vector

20 visualizaciones (últimos 30 días)
buhmatlab el 7 de Abr. de 2020
Editada: Andrei Bobrov el 7 de Abr. de 2020
Hi,
I'm relatively new to Matlab because I only used Excel so far. For my project I used the COUNTIFS function and I'm wondering how to do this in Matlab.
Say I've got a column vector 300x1:
I want to create a vector of the same size that counts and sums up each entry.
Example:
If my entries are A;A;B;A;B;B;C;A;C the new vector should look like: 1;2;1;3;2;3;1;4;2
Thank you so much!
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Andrei Bobrov el 7 de Abr. de 2020
Editada: Andrei Bobrov el 7 de Abr. de 2020
s = string({'A';'A';'B';'A';'B';'B';'C';'A';'C'});
out = zeros(numel(s),1);
[~,~,c] = unique(s);
for i = 1:max(c)
lo = c == i;
out(lo) = 1:sum(lo);
end
or
[~,~,c] = unique(s);
z = c == (1:max(c)); % or use here: z = bsxfun(@eq,c,1:max(c));
out = sum(cumsum(z).*z,2);
I'm use R2016b.
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
buhmatlab el 7 de Abr. de 2020
This works perfectly! I wonder how long it would have taken for me to figure this out...
THANK YOU!!!

Iniciar sesión para comentar.

### Categorías

Más información sobre String Parsing en Help Center y File Exchange.

### Community Treasure Hunt

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

Start Hunting!

Translated by