Matlab - función de recursión con dos entradas

   
Vista:

función de recursión con dos entradas

Publicado por Daniel (3 intervenciones) el 24/03/2015 13:43:12
Saludos, tengo que escribir una función recursiva numGreater(v,k) que encuentra la cantida de numero que son mayores o iguales a k. Si no hay dichos números devuelve cero. Hasta ahora este es mi código pero no me funciona:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function result=numGreater(v,k)
b=k<=v;
v(b==0)=[];
c=length(v);
v=ones(1,c);
if length(v)==0;
    result=0;
else
% result=sum(v);
 
 result=v(1)+numGreater(v(2:end),k);
end
 
end

como pueden ver tengo como comentario result=sum(v) ya que si utilizo esa función en vez de la línea de abajo a la misma la función sirve pero no es el punto porque la función tiene que ser recursiva.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
información
Otras secciones de LWP con contenido de Matlab
- Código fuente de Matlab
- Cursos de Matlab
- Temas de Matlab
- Chat de Matlab
información
Códigos de Matlab
- Fuerzas de Coulomb
- Fixed Pivot
- DÍAS DE LA SEMANA
Imágen de perfil de JESUS

función de recursión con dos entradas

Publicado por JESUS (742 intervenciones) el 03/04/2015 16:34:10
Saludos si necesiitas una función que encuentre los números mayores o iguales a K dado un vector V puedes hacer esto:
function result=numGreater(v,k)
a=find(v>=k);
result=length(a);
end


ahora si por x o y motivo no puedes utilizar la función Buscar de matlab (find) entonces puedes hacer esto:

function result=numGreater(v,k)
result=0;
for i=1:length(v)
if v(i)>=k
result=result+1;
end

end
end
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar