How to arrange the values of the matrix according to index number?
2 views (last 30 days)
Show older comments
I have index number of matrix A =[1 3 5 6], B= [ 2 4]. The values corresponding to index number matrix A is A1=[3 4 -7 5; 2 5 10 -9; -11 56 9 -4; 6 -7 4 20] and the values corresponding to index number matrix B is B1=[13 4 -70 51; -1 95 12 -9].
I want to generate a matrix C with index number of A and B after sorting like C=[ 1 2 3 4 5 6] and the values of the matrix C1 will arrange according to the index numb of C.
How will be arranging the values of C1 from A1 and B1 according to the index number C? Please help on this
7 Comments
Accepted Answer
madhan ravi
on 28 Sep 2020
Edited: madhan ravi
on 28 Sep 2020
C_new = zeros(numel(A), numel([A, B]));
C_new(:, A) = A1;
C_new(:, B) = B1.'
0 Comments
More Answers (1)
madhan ravi
on 30 Sep 2020
A faster version of the other answer:
C_new = zeros(numel(A), numel([A, B]));
[IX, ix] = sort([A, B]);
C_new(:, IX) = [A1, B1.'];
C_new = C_new(:, ix)
0 Comments
See Also
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!