Matlab - condicion de parada

 
Vista:

condicion de parada

Publicado por ire (3 intervenciones) el 09/01/2012 23:48:04
Hola!necesito ayuda en un ejercicio q estoy haciendo,es este:
implementar una función que tome como entrada un vector x y que devuelva la posición y el contenido del primer elemento negativo.
lo q yo he hecho ha sido esto:

function [pos, elem]=busca(x)
n=length(x);
for i=1:n
if x(i)<0
elem=x(i);
pos=i;
break
end
end

hasta aqui todo bien pero el problema viene cuando voy a hacer el siguiente apartado,no lo entiendo muy bien,q es este: Añadir una condición de parada si no hubiese ningún elemento negativo, que muestre por pantalla el mensaje: No hay ningún elemento negativo
yo lo q he hecho ha sido esto

function [pos, elem]=busca(x)
n=length(x);
for i=1:n
if x(i)<0
elem=x(i);
pos=i;
break
end
end
if x>0
disp('no hay ningun elemento negativo')
return;
end
pero me sale error, me gustaria q alguien me ayudase. Gracias
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

condicion de parada

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 10/01/2012 15:28:16
Hola.
Al parecer quieres algo asi.


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
35
36
37
function  [posicion, elemento]=buscacaballero1(x)
 n=length(x);
 for i=1:n
 if x(i)<0
 elemento=x(i);
 posicion=i;
 break
 end
 end
 if i==n
 disp('no hay ningun elemento negativo')
 posicion=[];
elemento=[];
 return;
 end
 
 
EJECUCION
>> p=round(6*rand(1,4)); x=(-rand(1,4)).^p, [posicion, elemento]=buscacaballero1(x)
x =
    0.0120   -0.0197   -0.0397   -0.9727
posicion =
     2
elemento =
   -0.0197
 
>> p=round(6*rand(1,4)); x=(-rand(1,4)).^p, [posicion, elemento]=buscacaballero1(x)
x =
    0.6907    0.4087    0.0652   -0.0000
 
no hay ningun elemento negativo
 
posicion =
     []
 
elemento =
     []




Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
Programador en Matlab
[email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar