Matlab - CHEQUEO DE ARGUMENTOS DE ENTRADA

 
Vista:
Imágen de perfil de Javier López

CHEQUEO DE ARGUMENTOS DE ENTRADA

Publicado por Javier López (16 intervenciones) el 29/12/2016 14:47:30
Hola a todos.
Estoy intentando hacer los siguiente:

Escriba una función que se llame mi_comprueba que recibiendo como argumento de entrada un vector v devuelva un 1 si alguna de las componentes del vector es 7 o un 0 en caso contrario.
Ej:
v=[0 1 2 4], mi_comprueba(v) debe devolver .
v=[0 1 7 4], mi_comprueba(v) debe devolver .

Yo he hecho lo siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
function [c]= mi_comprueba(v)
 
%CREACION DEL ALGORITMO
 
n=4;
for i=1:n
    if i==7
        c=1;
        disp ('1');
    end
end
    c=0;
    disp ('0');

Escribo en la Command Window lo siguiente: c=mi_comprueba(v)
En el caso en que el vector no contenga el 7 la Command Window me muestra:

>> c=mi_comprueba(v)
0

c =

0

O sea, entiendo que está bien. Pero en caso contrario me muestra el mismo resultado y eso no esta bien.
No sé si alguien puede ayudarme.
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

CHEQUEO DE ARGUMENTOS DE ENTRADA

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 29/12/2016 15:22:20
1
2
3
4
5
6
7
8
9
10
function c= mi_comprueba(v)
if nargin<1
    v=round(8*rand(1,20))
end
con=v==7;
if sum(con)>=1
    c=1;
else
    c=0;
end


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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
>> c= mi_comprueba
 
v =
 
     1     8     0     6     7     7     1     3     2     6     3     7     1     2     1     1     7     5     4     1
 
 
c =
 
     1
 
>> c= mi_comprueba
 
v =
 
     4     5     0     5     3     0     4     2     1     2     1     2     0     5     2     4     6     4     4     4
 
 
c =
 
     0
 
 
 
>> v=round(8*rand(1,20)),  c= mi_comprueba(v)
 
v =
 
     0     4     7     5     2     3     4     8     1     7     5     3     2     3     4     1     5     2     3     5
 
 
c =
 
     1
 
 
 
>> v=round(8*rand(1,20)),  c= mi_comprueba(v)
 
v =
 
     3     4     3     6     5     6     7     8     2     1     6     1     4     4     7     4     3     5     6     4
 
 
c =
 
     1
 
>> v=round(8*rand(1,20)),  c= mi_comprueba(v)
 
v =
 
     3     1     5     2     0     6     2     4     6     3     6     3     5     6     4     0     3     3     2     2
 
 
c =
 
     0


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
[email protected]


http://matlabcaballero.blogspot.com
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