首先我的问题看起来很简单,但我仍然无法找到相关答案。 所以我有矩阵MX4选择一列中的值与特定向量匹配的行
a = [(2:6)' rand(5,3)]
a =
2. 0.1589990 0.2725595 0.2944531
3. 0.0181815 0.3437655 0.5718074
4. 0.4098371 0.2033702 0.2141770
5. 0.0105835 0.3011945 0.6895462
6. 0.1965310 0.2762596 0.5855573
的大小和向量b与MX1的大小。 b的元素总是可以在a的第一列找到。例如:
b = [2;3;6]
我想是选择行的第一列,其值匹配B的值,即
ans =
2. 0.1589990 0.2725595 0.2944531
3. 0.0181815 0.3437655 0.5718074
6. 0.1965310 0.2762596 0.5855573
所有我来到这么远的这些解决方案:
Ans(1,:) = a(a(:,1)==b(1),:);
Ans(2,:) = a(a(:,1)==b(2),:);
Ans(3,:) = a(a(:,1)==b(3),:);
略有自动化的版本:
Ans = zeros(size(b,1),size(a,2));
for i = 1:size(b,1)
Ans(i,:)=a(a(:,1)==b(i),:)
end
有没有可能让它变得简单,可能在一条线上或没有循环?
+1简要回答! – Divakar