How can I remove the ranges from a specific column vector?

Hello;
How can I remove the following ranges from the k column vector below:
k=[1 0 2 1 9 8 0 0 4 2 3 3 5 1 1 0 3 2].' ;
ranges to be removed from k column vector are as;
range1=k(1:4); range1=k(9:12); range1=k(13:16);
Thanks in advance!!

 Réponse acceptée

Stephen23
Stephen23 le 28 Mar 2018
Modifié(e) : Stephen23 le 28 Mar 2018
>> vec = [1;0;2;1;9;8;0;0;4;2;3;3;5;1;1;0;3;2;0;0;0;0;0;0];
>> tmp = reshape(vec,12,[])
tmp =
1 5
0 1
2 1
1 0
9 3
8 2
0 0
0 0
4 0
2 0
3 0
3 0
>> tmp(1:4,:) = []
tmp =
9 3
8 2
0 0
0 0
4 0
2 0
3 0
3 0
>> tmp(:)
ans =
9
8
0
0
4
2
3
3
3
2
0
0
0
0
0
0

2 commentaires

Neat. Easily beats my solution.
a=1:4
b=0:12:N;
c=a+repmat(b,4,1)';
del=reshape(c',1,numel(c))
k(del)=[]

Superb! Many thanks Stephan, David.

Connectez-vous pour commenter.

Plus de réponses (1)

del=[1:4 9:12 13:16]
k(del)=[]

1 commentaire

Thanks David.
İf k is a data vector as 1024x1, then how can we make it as a general formula to remove consecutive 4 bits and then keep 8 consecutive bits, then again remove 4 bits and keep 8 bits...
N=1024;
k=randi([0 1],N,1);
k_remove1=k(1:4);
k_remove2=k(13:16);
k_remove3=k(25:28);
.
.
.
Thanks

Connectez-vous pour commenter.

Catégories

En savoir plus sur Programming dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by