how to find subsets of different matrices

1 次查看(过去 30 天)
i have matrices as c1=[1 5 6] c2=[3 2 0] c3=[4 7 0] and another matrix as b=[3 5 6]. now the elements in b matrix appears more in which of c1 c2 c3. assign this b matrix to that. for this problem the b=[3 5 6] goes to c1. so the required output will be [1 5 6], [3 5 6]

采纳的回答

Stephen23
Stephen23 2016-3-25
Numbered variables are a bad idea. Using numbered variables will make writing code harder. So the first thing to do is put all of those C1s into one variable M:
>> M = [c1;c2;c3]
M =
1 5 6
3 2 0
4 7 0
Then your task is trivial using bsxfun, sum, and max:
>> [~,idx] = max(sum(bsxfun(@eq,M,b),2));
>> [M(idx,:);b]
ans =
1 5 6
3 5 6

更多回答(1 个)

Joseph Cheng
Joseph Cheng 2016-3-25
use the function ismember(). with that you can see which matrices have the most in common.
  1 个评论
Sravan Kumar
Sravan Kumar 2016-3-25
can u please give some more imformation. how to use ismember() for the given problem

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Operators and Elementary Operations 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by