Replacing elements of a logical index vector
Show older comments
“Idx” is a logical index vector when a certain “power on” condition is true (e.g. idx=Pwr_on>threshold) Say the result is 5 "zeros" and 5 "ones" per cycle i.e. idx=[0;0;0;0;0;1;1;1;1;1;0;0;0;0;0;1;1;1;1;1;0;0;0;0;0.........] Every time idx is true; I need to replace the first element and last element with “0” within the index. So effectively idx=[0;0;0;0;0;0;1;1;1;0;0;0;0;0;0;0;1;1;1;0;0;0;0;0;0.........] Any suggestions
1 Comment
How are you defining "first element and last element...within the index" for a general case? It is clear in this example, but is this as complicated as your data gets? i.e. there are always n 0's followed by n 1's and then this just cycles every 2n elements?
Accepted Answer
More Answers (2)
Kashmir Singh
on 10 Feb 2016
0 votes
Jos (10584)
on 10 Feb 2016
Edited: Jos (10584)
on 10 Feb 2016
X = logical([0 1 1 0 1 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 1])
Y = fliplr(conv(fliplr(conv(double(X),[1 1],'same')),[1 1],'same'))>3
Categories
Find more on Numeric Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!