Combination calculations and matrix manipulation
이전 댓글 표시
Hello, I am working on a matrix (m x n) and I want to pick up different groups of m elements which have to be non dependent. Practically speaking I need (n-1)*m+2. For n = 4 and m = 3 I need 11 groups and an example of matrix is: [1 2 3 4, 5 6 7 8, 9 10 11 12] and the groups might be
(1 5 9),(1 5 10),(1 5 11),(1 5 12) 4
(1 6 9),(1 7 9),(1 8 9) 3
(2 5 9),(3 5 9),(4 5 9) 3
(2 6 9) 1
I have the matrix written, do you have any suggestion how to write this problem assuming that n and m are completely random and the first group has to be composed by the first column.
Thank you very much Antonio
채택된 답변
추가 답변 (3개)
mortain Antonio
2011년 5월 14일
댓글 수: 1
Matt Fig
2011년 5월 14일
Your first approach using COMBINATOR is NOT what I recommended. Use the output from COMBINATOR the same way I used NPERMUTEK in my first post.
Your second attempt is very odd, since NPERMUTEK is not a recursive algorithm. Did you make changes to the code before you got that error? Because when I copy and paste your code I get R = 64-by-3 where each row has one pick for each row of A, EXACTLY the same as Andrei's code below.
Andrei Bobrov
2011년 5월 14일
more so?
A = [1 2 3 4;
5 6 7 8;
9 10 11 12];
A1 = mat2cell(A,[1 1 1],size(A,2));
[J K I] = meshgrid(A1{[2 3 1]});
R = [I(:) J(:) K(:)];
mortain Antonio
2011년 5월 16일
댓글 수: 3
Sean de Wolski
2011년 5월 16일
That code burns my eyes.
Oleg Komarov
2011년 5월 16일
Goog example how to AVOID vectorization on MatLab (Matrix Laboratory) - LOLZ
mortain Antonio
2011년 5월 17일
카테고리
도움말 센터 및 File Exchange에서 File Operations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!