Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > MATLAB > Téléchargez
Téléchargez Récupérez et commentez les sources et outils mis à disposition par la rubrique MATLAB
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 26/03/2010, 22h39   #1
kmaniche
Membre Expert
 
Avatar de kmaniche
 
Inscription : janvier 2006
Messages : 1 715
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 1 715
Points : 1 632
Points : 1 632
Par défaut Taille et nombre d'éléments non zéros dans un vecteur

La fonction ci-dessous, permet de calculer la taille et le nombre d'éléments différents de zéros dans un vecteur.
Exemple :
Code :
1
2
3
>> a  = [1 0 0 0 1 1 1 1 1 1 0 1 0 1 1 ] ;
Taille des éléments différents de zéros est : 1 6 1 2
Leur nombre = 4
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
function [snz, nnz] = nonzeros2(vin)
% Description
% Fonction permettant de retourner le nombre d'éléments différents de zéros
%
% vin : vecteur d'entrée
% snz : taille des éléments différents de zéros
% nnz : nombre d'éléments différents de zéros
%
% Usage :
%    >> a  = [1 0 0 0 1 1 1 1 1 1 0 1 0 1 1 ] ;
%
%    >> sz = nonzeros(a)
%       sz =
%           1     6     1     2
%
%    >> a  = [1 0 0 0 1 1 1 1 1 1 0 1 0 1 1 ] ;
%    >> [sz nb] = nonzeros(a)
%
%       sz =
%           1     6     1     2
%
%       nb =
%           4
%

if nargin > 1 || nargin <= 0 
    error('Bad input. see help nonzeros2 for details.');
end

    snz = diff(find(~[0 vin 0]))-1 ;
    snz = snz(snz~=0) ;
    nnz = numel(snz)  ;
__________________
Les règles Les cours La fonction rechercher

N'oubliez pas de mettre en et de voter.

La terre n'est pas un héritage de nos parents, mais un emprunt que nous faisons à nos enfants. La protection de notre environnement est la responsabilité de tous. Ne reculez plus devant l'urgence, agissez !
kmaniche est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h30.


 
 
 
 
Partenaires

Hébergement Web