Index Matching 2 Matrices
Mostrar comentarios más antiguos
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 comentarios
Matt J
el 11 de Abr. de 2013
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
el 11 de Abr. de 2013
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
el 11 de Abr. de 2013
Matt J
el 11 de Abr. de 2013
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.
Respuestas (1)
Matt J
el 11 de Abr. de 2013
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
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!