Indexing sections of arrays
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Mohammed Kagalwala
le 23 Oct 2019
Commenté : Mohammed Kagalwala
le 23 Oct 2019
Is there an easy way to extract every section'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 !
2 commentaires
Jan w
le 23 Oct 2019
Define the indices you wish to extract
a = [1,2,3,7,8,9];
Now redefine your vector
x = x(a);
Is this what you mean?
Réponse acceptée
Jos (10584)
le 23 Oct 2019
Modifié(e) : Jos (10584)
le 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)
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!