Filter löschen
Filter löschen

Assign Numeric Values to List of Strings

2 Ansichten (letzte 30 Tage)
Calum
Calum am 7 Apr. 2015
Kommentiert: per isakson am 7 Apr. 2015
Hi,
If I have a cell array vertically sorted alphabetically as follows:
X=['a';'a';'c';'h';'x';'x']
What code should I use to obtain the numeric output:
Y=[1;1;2;3;4;4]
Where each integer in Y represents the alphabetic rank of the corresponding string in X.
Many thanks,
Cal
  1 Kommentar
per isakson
per isakson am 7 Apr. 2015
Character array:
X=['a';'a';'c';'h';'x';'x'];
Cell array:
X={'a';'a';'c';'h';'x';'x'}

Melden Sie sich an, um zu kommentieren.

Antworten (2)

Matt J
Matt J am 7 Apr. 2015
[~,~,Y]=unique(X);

Thorsten
Thorsten am 7 Apr. 2015
That's easy
Y = [ 1 1 + cumsum(diff(X - 'a' + 1) > 0)'];
(and one of the reasons why I love Matlab :-))

Kategorien

Mehr zu Characters and Strings 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