# mean from intersection matrix

4 vues (au cours des 30 derniers jours)
eko supriyadi le 16 Oct 2021
Commenté : eko supriyadi le 16 Oct 2021
Hi matlab community
Suppose i have matrix:
a = [1,3,3,2,2,3,3,4,3,1,3];
b = [1,1,1,3,4,1,2,1,4,1,1];
c = [2,2,2,4,2,3,3,2,1,3,8];
now, I want to get the mean value (from matrix c) of the intersection of matrices [ab] which have the same value, like this:
a = [1,3,2,2,3,4,3];
b = [1,1,3,4,2,1,4];
c = [2.5,3.75,4,2,3,2,1]; %final result
how to do it? tks :)
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Réponse acceptée

Ive J le 16 Oct 2021
This should work:
a = [1,3,3,2,2,3,3,4,3,1,3];
b = [1,1,1,3,4,1,2,1,4,1,1];
c = [2,2,2,4,2,3,3,2,1,3,8];
x = [a; b];
[~, ia, ic] = unique(x.', 'stable', 'rows');
newC = arrayfun(@(x) mean(c(ic == x)), unique(ic)).'
newC = 1×7
2.5000 3.7500 4.0000 2.0000 3.0000 2.0000 1.0000
##### 1 commentaireAfficher -1 commentaires plus anciensMasquer -1 commentaires plus anciens
eko supriyadi le 16 Oct 2021
interesting answer, next is:
d=[a(ia)' b(ia)' newC].';
then if there is another method can be replied here.. tks Ive

Connectez-vous pour commenter.

### Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by