I WANT TO CREATE MATRIX COMBINATION
Show older comments
e.g. A = [1 2 3] B = [4,5,6]
I want the new matrix c to be
C = [1 3; 1 5; 1 6; 2 4; 2 5; 2 6; 3 4; 3 5; 3 6]
Accepted Answer
More Answers (1)
A = [1 2 3];
B = [4 5 6];
nA=numel(A);
nB=numel(B);
%If you have Stats and ML Toolbox
y=fullfact([nA nB]);
C=[A(y(:,2));B(y(:,1))]'
%otherwise
z=dec2base(0:nA*nB-1,max(nA,nB))-47;
D=[A(z(:,1))' B(z(:,2))']
%another method using ndgrid
n=2; %two inputs A and B
[E{flip(1:n)}]=ndgrid(B,A);
reshape(cat(n,E{:}),'',n)
1 Comment
ARBAZKHAN PATHAN
on 6 Jan 2023
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!