Index Matching 2 Matrices
이전 댓글 표시
Hello,
I'm having trouble with an indexing issue. I have 2 matrices. Matrix A has 6 columns, and I'd like my first output to be all of the possible combinations of 6 cells (one each from the 6 columns down any row) that fall under a certain threshold.
Next, I'd like to take this output and match it to Matrix B (same dimensions) to give me an added list of index values for Matrix B.
For example, Matrix A would look something like:
Column 1 Column 2 Column 3 Column 4 Column 5 Column 6
100 150 125 200 300 400
150 200 100 100 200 250
300 320 200 200 200 100
I'd like to obtain all combinations of 6 cells that would e.g. be <1000.
Then, I'd like to index these combinations to Matrix B, and add all of the 6 cells in a single combination to give me a single number.
Please let me know if I need to elaborate further.
Thanks!
댓글 수: 5
Matt J
2013년 4월 11일
In your example, all of the data is <1000. That means the entire matrix A is eligible to participate in combinations? Also, how many rows does A have?
Chris
2013년 4월 11일
Seems like a brute force evaluation of something to me. If none of the combinations fall below the threshold, it would take no less than 4GB to hold the indices and no less than 32GB to hold the A matrix data themselves, assuming A is double floating point.
Maybe you should back up and describe why you need this.
Chris
2013년 4월 11일
Matt J
2013년 4월 11일
So you're not really interested in all combinations, even those with cost <1000. You're only interested in the one particular combination with optimum review.
답변 (1개)
Matt J
2013년 4월 11일
You might be able to use BINTPROG to solve it where X is an Nx6 matrix of unknown binary variables. You would minimize
dot(-B(:),X(:))
with linear equality constraints
sum(X,1)=1;
and linear inequality constraints on the costs
dot(X(:),A(:))<=1000
카테고리
도움말 센터 및 File Exchange에서 Matrix Indexing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!