vector of integers modification

I have vector of positive integers which I need to modify into vector of consecutive integers with the same ordering.
Example:
rank = [4 1 2 2 4] -> rank_new = [3 1 2 2 3]

3 个评论

Please don’t use variable as rank, MATLAB has inbuilt function named rank().
There are so many functions in matlab that it can be difficult not to shadow one. If you're not doing matrix algebra it doesn't really matter if you stomp on rank.
On the other hand, rank is not a particularly good variable name. rank of what? It would be much better if that what was added to the variable name.
Of course, you are right! I just use rank variable name by my mistake... :)

请先登录,再进行评论。

 采纳的回答

Possibly:
rank = [4, 1, 2, 2, 4];
[~, ~, rank_new] = unique(rank)

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

产品

版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by