2016-02-07 10 views

Répondre

1
a=[1,2,3,4,5,6,7,8,9]; 
b = a(mod(a,2)==0); 
c = a(mod(a,2)==1); 

b = 
    2  4  6  8 
c = 
    1  3  5  7  9 

Utilisez mod pour vérifier si le nombre est divisible par 2 ou non (est encore) et l'utiliser comme un logical index en a.

+0

Merci! cela a fonctionné, sauf son 'modulo' dans scilab au lieu de mod. –

+1

Vous l'avez étiqueté MATLAB/octave et c'est ce que je vous ai donné la syntaxe pour. Heureusement, cela a fonctionné dans une autre langue. S'il vous plaît envisager d'accepter la réponse si cela a fonctionné pour vous. – Adriaan

3

on peut séparer la matrice en appelant rangée et de colonne

a=[1,2,3,4,5,6,7,8,9]; 
b=a(2:2:end); 
c=a(1:2:end); 

un moyen [2,4,6, ... longueur (a)] et [1 [2: Fin: 2]: 2: fin] = [1,3,5, ... longueur (a)] donc vous pouvez utiliser cette astuce pour chaque matrice par exemple si vous avez une matrice a = [5,4,3,2,1] et que vous voulez à 3 premier élément de sorte que vous pouvez coder:

a=[5,4,3,2,1]; 
b=a(1:1:3) 
b= 
    1 2 3 
% OR YOU CAN USE 
b=a(1:3) 

et si vous avez besoin à 3 Elements dans 5

a=[5,4,3,2,1]; 
b=a(3:5) 
b= 
    3 2 1 

si vous voulez des éléments de 5 à 1, vous pouvez utiliser ce code

a=[5,4,3,2,1]; 
b=a(5:-1:1); 
b= 
    1 2 3 4 5 

désolé pour mon anglais