所以我得到了一个大矩阵(4091252x2),它的大值如下:
439105 1053224
439105 1696241
439105 580064
439105 1464748
1836139 1593258
1464748 439105
1464748 1053224
1464748 1696241
1464748 580064
580064 439105
我把它映射成更小的数字但是,我如何跟踪我映射的数字?
例如,假设我有一个矩阵
A = [110 503
402 110
300 900
300 402]
并将其映射到:
B = [1 4
3 1
2 5
2 3]
使用:
[~,~,D] = unique(A);
B = reshape(D,size(A))
我如何编写一个函数来跟踪我映射的值例如110=1我只是不知道如何解决这个问题,任何帮助都将非常感谢,谢谢!!
最佳答案
它按顺序映射,所以第一个输出
[largeMap,~,D] = unique(A);
B = reshape(D,size(A)) ;
smallMap = (1:length(largeMap))';
map = [largeMap, smallMap];