I WANT TO CREATE MATRIX COMBINATION
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
ARBAZKHAN PATHAN
le 6 Jan 2023
Commenté : ARBAZKHAN PATHAN
le 6 Jan 2023
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]
0 commentaires
Réponse acceptée
Karim
le 6 Jan 2023
% setup the original data, note the shape!
A = [1;2;3];
B = [4;5;6];
% create the combinations
C = [ repmat(A,numel(B),1) reshape( repmat(B',numel(A),1),[],1) ]
Plus de réponses (1)
Dyuman Joshi
le 6 Jan 2023
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)
Voir également
Catégories
En savoir plus sur Matrices and Arrays 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!