Borrar filtros
Borrar filtros

How to convert distinct strings in a cell array to numbers.

10 visualizaciones (últimos 30 días)
Joel Mueller
Joel Mueller el 28 de En. de 2015
Respondida: wgourlay el 30 de Jul. de 2018
I am trying to design a function that will that will rename each element in a cell array a unique number. For example, I am starting with this array of strings:
'Loc' 'Buf'
'Cac' 'Loc'
'Cac' 'Buf'
'Buf' 'D'
And want to rename each a number, so it becomes:
1 2
3 1
3 2
2 4
I.e., I need a function that will make 'Loc'=1, 'Buf'=2, etc.

Respuestas (2)

Titus Edelhofer
Titus Edelhofer el 28 de En. de 2015
Hi,
something like this:
x = {'Loc' 'Buf'
'Cac' 'Loc'
'Cac' 'Buf'
'Buf' 'D'}
[C,~,ib] = unique(x);
% the unique strings:
C
% and the corresponding id's:
ib = reshape(ib, size(x))
Titus

wgourlay
wgourlay el 30 de Jul. de 2018
You can also ensure the numbering is in order of occurrence (this was necessary in my case):
[C,~,ib] = unique(x, 'stable');

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by