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 33 34
| function [snz, nbnz] = 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
% nbnz : 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 = nonzeros2(a)
%
% sz =
% 1 6 1 2
%
% >> a = [1 0 0 0 1 1 1 1 1 1 0 1 0 1 1 ] ;
% >> [sz nb] = nonzeros2(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) ;
nbnz = numel(snz) ; |
Partager