Combining Logical Indexes
    8 views (last 30 days)
  
       Show older comments
    
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 Comments
Accepted Answer
  Fangjun Jiang
      
      
 on 4 Nov 2011
        What is the operation, and, or, plus, minus?
bsxfun(@and,MyTickers,MyDates)
3 Comments
  Sean de Wolski
      
      
 on 4 Nov 2011
				Fangjun is correct! times would work, but it's slightly slower since ML has to do a multiplication instead of a logical operation.
More Answers (1)
  Brian
      
 on 4 Nov 2011
        2 Comments
  Walter Roberson
      
      
 on 4 Nov 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
      
      
 on 4 Nov 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;
See Also
Categories
				Find more on Matrix Indexing in Help Center and File Exchange
			
	Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


