MATLAB: Como incrementar un vecteur cada n filas

Hola,
Tengo este script
 
x = zeros(10,1);
a = 1;
for k = 1:2:21;
if mod(a,4)==0;
x(a)= k+4;
else
x(a)= k+2;
end
a=a+1;
end
 
y obtengo esto:
 
3
5
7
11
11
13
15
19
19
21
23
 
y yo quiero obtener
 
3
5
7
11
13
15
19
21
23
 
es decir, sin que se me repita el 11 y 19.
Gracias

Meilleure réponse

  • Isabel – pourquoi
     
    if mod(a,4)==0; % <----- a
     
    au lieu de
     
    if mod(k,4)==0; % <----- k
     
    ? Et donc votre code serait
     
    x = zeros(11,1); % <------ 11
    a = 1;
    for k = 1:2:21;
    if mod(k,4)==0; % <------ k
    x(a)= k+4;
    else
    x(a)= k+2;
    end
    a=a+1;
    end
     
    avec résultat
     

    3
    5
    7
    9 % <----- 9
    11
    13
    15
    17 % <------ 17
    19
    21
    23