How to merge two matrix?

1 view (last 30 days)
ASHA PON
ASHA PON on 17 Apr 2022
Commented: ASHA PON on 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

Accepted Answer

KSSV
KSSV on 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 Comment
ASHA PON
ASHA PON on 18 Apr 2022
Thank you so much for your reply. This is what i needed.

Sign in to comment.

More Answers (0)

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!