How to merge two matrix?

5 visualizzazioni (ultimi 30 giorni)
ASHA PON
ASHA PON il 17 Apr 2022
Commentato: ASHA PON il 18 Apr 2022
Repeated values in a matrix are assigned to a group and now the elements in group has to be matched with another matrix having probability values of element in group.
For example
a=[6 6 5 6 5 6 6]
group 1 =5
3 5
group 2 = 6
1 2 4 6 7
b = [0.74 0.66 0.58 0.47 0.62 0.75 0.76]
Expecting output:
group 1 = 5
0.58 0.62
group 2 = 6
0.74 0.66 0.47 0.75 0.76
I need to apply the above mentioned problem to a larger number of group and n*m matrix. Kindly suggest me the procedure to apply for larger matrix.
Thank you in advance

Risposta accettata

KSSV
KSSV il 17 Apr 2022
a=[6 6 5 6 5 6 6] ;
b = [0.74 0.66 0.58 0.47 0.62 0.75 0.76] ;
[c,ia,ib] = unique(a) ;
N = length(c) ;
G = cell(N,1) ;
iwant = cell(N,1) ;
for i = 1:N
G{i} = a(ib==i)
iwant{i} = b(ib==i)
end
G = 2×1 cell array
{[ 5 5]} {0×0 double}
iwant = 2×1 cell array
{[0.5800 0.6200]} {0×0 double }
G = 2×1 cell array
{[ 5 5]} {[6 6 6 6 6]}
iwant = 2×1 cell array
{[ 0.5800 0.6200]} {[0.7400 0.6600 0.4700 0.7500 0.7600]}
celldisp(G)
G{1} = 5 5 G{2} = 6 6 6 6 6
celldisp(iwant)
iwant{1} = 0.5800 0.6200 iwant{2} = 0.7400 0.6600 0.4700 0.7500 0.7600
  1 Commento
ASHA PON
ASHA PON il 18 Apr 2022
Thank you so much for your reply. This is what i needed.

Accedi per commentare.

Più risposte (0)

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by