Combining Logical Indexes
7 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I have two logical Indexes that I need to reference with my large Matrix of data before performingons. One Index (MyDates) is 1x693 and the other (MyTickers) is 589x1. I need to combine the two Indexes into one large 589x693 logical index. How do I go about oing that?
Thanks, Brian
0 comentarios
Respuesta aceptada
Fangjun Jiang
el 4 de Nov. de 2011
What is the operation, and, or, plus, minus?
bsxfun(@and,MyTickers,MyDates)
3 comentarios
Sean de Wolski
el 4 de Nov. de 2011
Fangjun is correct! times would work, but it's slightly slower since ML has to do a multiplication instead of a logical operation.
Más respuestas (1)
Brian
el 4 de Nov. de 2011
2 comentarios
Walter Roberson
el 4 de Nov. de 2011
What shape were you expecting? When you extract arbitrary elements out of a matrix, there is no way for MATLAB to leave "hole" that preserve any original existing shape.
Fangjun Jiang
el 4 de Nov. de 2011
That is expected. If you want to keep the shape of the original matrix, you need fill it with something depending on your need. For example,
a=magic(3);
b=logical([1 1 0;0 1 0;0 1 0]);
a(~b)=nan;
Ver también
Categorías
Más información sobre Resizing and Reshaping Matrices en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!