在Matlab中为向量的相等行指定相同的数字
考虑Matlab中包含可能重复整数的列向量在Matlab中为向量的相等行指定相同的数字,matlab,Matlab,考虑Matlab中包含可能重复整数的列向量a 使用unique,我构建了包含A元素的向量B,没有重复 假设我有一个向量C,大小size(B,1)x1 我想请您帮助构造一个大小为size(a,1)x1的向量D,将C的相同元素分配给a的相等元素 让我用一个例子更好地解释一下 clear A=[2; 3; 3; 1; 4; 2; 2; 4; 5; 1]; B=unique(A,'stable'); %B=[2; % 3; % 1; %
a
使用unique
,我构建了包含A
元素的向量B
,没有重复
假设我有一个向量C
,大小size(B,1)x1
我想请您帮助构造一个大小为size(a,1)x1
的向量D
,将C
的相同元素分配给a
的相等元素
让我用一个例子更好地解释一下
clear
A=[2;
3;
3;
1;
4;
2;
2;
4;
5;
1];
B=unique(A,'stable');
%B=[2;
% 3;
% 1;
% 4;
% 5] %selected elements
C=[100;
101;
102;
103;
104]; %size(B,1)x1
然后,开始将C
的顶部元素分配给A
的顶部元素,我想
D=[100; %C(1)
101; %C(2)
101; %C(2)
102; %C(3)
103; %C(4)
100; %C(1)
100; %C(1)
103; %C(4)
104; %C(5)
102];%C(3)
我曾尝试使用
unique
发布的索引,但我无法获得所需的输出。有什么帮助吗?使用数组函数查找B的每个元素的A的索引:
idxs = arrayfun(@(x)find(B==x,1),A);
D=C(idxs)
D =
100
101
101
102
103
100
100
103
104
102
使用数组函数查找B的每个元素的A的索引:
idxs = arrayfun(@(x)find(B==x,1),A);
D=C(idxs)
D =
100
101
101
102
103
100
100
103
104
102
您可以使用第二个输出:
您可以使用第二个输出:
我们不应该点菜,我们不应该点菜。