Bonsoir,
mon problème est le suivant:
j'ai un matrice 6*7 remplie de 0, 1 et 2.
J'aimerais connaître le nombre de 1 qui se suive dans une ligne donnée.(ou une colonne ou une diagonale)
Merci d'avance pour aide!
Bonsoir,
mon problème est le suivant:
j'ai un matrice 6*7 remplie de 0, 1 et 2.
J'aimerais connaître le nombre de 1 qui se suive dans une ligne donnée.(ou une colonne ou une diagonale)
Merci d'avance pour aide!
Si ta matrice est A ayant les dimensions 6 x 7
voici la solution
Nombres successifs sur les colonnes
Nombres successifs sur les lignes
Code : Sélectionner tout - Visualiser dans une fenêtre à part sum(sum((A(1:5,:) - A(2:6,:)==0)))
Pour la diagonale je pense qu'il faut coder. Difficile de le faire directement en une seule formule quoique possible.
Code : Sélectionner tout - Visualiser dans une fenêtre à part sum(sum((A( : ,1:5) - A( : ,2:6)==0)))
Bonsoir,
Un code un peu plus général, quel que soit la dimension de la matrice:
NB: cela calcule le nombre d’éléments égal à son suivant, indistinctement que ce soit des 1 ou autre chose. Pour avoir les 1 seulement:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 sum(sum(diff(x,1)==0)) %sur les colonnes sum(sum(diff(x,2)==0)) %sur les lignes sum(sum(diff(diag(x),1)==0)) %sur la diago
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 sum(sum(diff(x,1)==0 && x(2:end,:)==1)) % sur les colonnes sum(sum(diff(x,2)==0 && x(:,2:end)==1)) % sur les lignes
Merci à vous deux pour vos réponses rapides et utiles!!
c'est super!
surtout quand ça marche
Bonnes fêtes de fin d'année
Partager