how to find subsets of different matrices

2 visualizzazioni (ultimi 30 giorni)
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]

Risposta accettata

Stephen23
Stephen23 il 25 Mar 2016
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

Più risposte (1)

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

Accedi per commentare.

Categorie

Scopri di più su Operators and Elementary Operations in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by