跟踪矩阵的映射值?
Keeping track of mapped values of a matrix?
所以我有一个大矩阵 (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];
所以我有一个大矩阵 (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];