Ejemplo:
>> b=[0 0 0 1 0 2 2 9 9 9 9 1 1]
>> [c]=recontar(b)
c =
0 1 2 9
4 3 2 4
>>
Programa:
------------------------------------------------
function c=recontar(b)
%Este programa toma una matriz fila de números enteros b y devuelve una
%matriz c donde la primera fila son los elementos distintos de b ordenados
%de menor a mayor y la segunda fila son las veces que se repiten dichos
%elementos en b.
m=1;
reco=0;
b=sort(b);
%El siguiente bucle for analiza uno por uno los elementos de b, y lo anota en una matriz a junto con el número de veces que se repite.
for j=1:length(b)
for k=1:length(b)
if b(j)==b(k);
a(1,m)=b(j);
reco=reco+1;
end
end
a(2,m)=reco;
m=m+1;
reco=0;
end
...ahora tenemos una matriz a, pero aparecen datos repetidos, el siguiente bucle while va examinando la matriz a y copia a la matriz c cada dato una sola vez
j=1;
m=1;
while j$<$length(a(1,:))
c(1,m)=a(1,j);
c(2,m)=a(2,j);
m=m+1;
elseif a(1,j)~=a(1,j+1)
c(1,m)=a(1,j);
c(2,m)=a(2,j);
m=m+1;
end
j=j+1;
end
No hay comentarios:
Publicar un comentario