How to create empty indexes when not available?
5 views (last 30 days)
Show older comments
For example:
Say:
data = [2,3,4,5,3,2,4,5]
I want to only look at a subset of the data starting from the 5th index +/-2 of data:
window = data(5-2:5+2)
window =
4 5 3 2 4
That works no problem because the data exisit.
Now say I want to look a the data starting from the 5th index -10/+2
window = data(5-10:5+2)
window = 'Array indices must be positive integers or logical values.'
Since there are not 10 indices available before the 5th index this won't work.
Is there a way to automatically fill indexes that don't exist with 'NaN' and fill the rest do the final output would look something like:
window =
NaN NaN NaN NaN NaN NaN 2 3 4 5 3 2 4
Any help would be greatly appreciated.
Thanks!
0 Comments
Accepted Answer
Stephen23
on 21 May 2021
Edited: Stephen23
on 21 May 2021
data = [2,3,4,5,3,2,4,5];
x = 5;
n = 10;
p = 2;
window = data(max(1,x-n):min(end,x+p))
Are the NaNs really required?
More Answers (0)
See Also
Categories
Find more on Matrix Indexing 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!