跟踪矩阵的映射值?

时间:2015-05-21 21:28:05

标签: matlab matrix mapping

所以我有一个大的矩阵(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?我只是不确定如何处理这个问题,任何帮助都将不胜感激,谢谢!

1 个答案:

答案 0 :(得分:2)

按顺序映射首先输出

[largeMap,~,D] = unique(A);
B = reshape(D,size(A)) ;
smallMap = (1:length(largeMap))';
map = [largeMap, smallMap];