Combining Logical Indexes
7 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
Fangjun Jiang
il 4 Nov 2011
What is the operation, and, or, plus, minus?
bsxfun(@and,MyTickers,MyDates)
3 Commenti
Sean de Wolski
il 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.
Più risposte (1)
Brian
il 4 Nov 2011
2 Commenti
Walter Roberson
il 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
il 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;
Vedere anche
Categorie
Scopri di più su Matrix Indexing in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!