Indexing sections of arrays
20 views (last 30 days)
Show older comments
有一个简单的方法来提取每一节吗's of n elements of a vector in MATLAB and skip the next n? Say we have
x
=
linspace
(
1
,
10
,
10
)
; %[1 2 3 4 5 6 7 8 9 10]
I wish to index such that I grab 1,2,3 then skip 4,5,6 and again grab 7,8,9. For example,
a = zeros(1,10); % [0 0 0 0 0 0 0 0 0 0]
a(magic index) = x(magic index)
So now a = [1 2 3 0 0 0 7 8 9 0]
I've only been able to find how to get every nth element but not chunks of n elements.
Thank you for your help in advance !
Accepted Answer
Jos (10584)
on 23 Oct 2019
Edited:Jos (10584)
on 23 Oct 2019
x = 101:110
n = 3
tf = mod(0:numel(x)-1, 2*n) < n
a = zeros(size(x))
a(tf) = x(tf)
index = find(tf)
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!