Matlab - Verificar si lo ingresado es un numero

 
Vista:

Verificar si lo ingresado es un numero

Publicado por Kalioz (5 intervenciones) el 15/01/2020 16:16:33
Hola buenos días a todos,

tengo una duda, necesito ingresar por teclado un numero X, el tema es que cuando ingreso una letra el programa se cae, por lo tanto necesito verificar que lo ingresado sea un num y cuando se ingrese un string vuelva a pedir que se ingrese por teclado.

Solo no se como comparar el dato ingresado con un num

Espero su ayuda
Muchas gracias
Saludos a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-1
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

Verificar si lo ingresado es un numero

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 15/01/2020 16:41:46
1
2
3
4
5
6
7
8
9
10
clear
X=input('Ingrese el numero X:','s');
while 1
    u=str2num(X);
    if isempty(u)
        X=input('Ingrese el numero X:','s');
    else
        break;
    end
end


1
2
3
4
5
6
7
>> leer_numero_y_no_cadena
Ingrese el numero X:dfasdf
Ingrese el numero X:gfhfghj
Ingrese el numero X:ghfghfd
Ingrese el numero X:123
>> leer_numero_y_no_cadena
Ingrese el numero X:67658

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


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

Verificar si lo ingresado es un numero

Publicado por Kalioz (5 intervenciones) el 15/01/2020 19:53:23
Muchas gracias!

se me olvido especificar que es una función, habia hecho algo parecido pero no lo logro aplicar en esta funcion, ingreso cualquier string y me sale este error:


factorial1(str)
Unrecognized function or variable 'str'.

factorial1 es el nombre de la función
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
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

Verificar si lo ingresado es un numero

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 15/01/2020 20:00:27
Estimado Kalioz.
Podria subir la parte del código en la cual lee datos desde el teclado.
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

Verificar si lo ingresado es un numero

Publicado por kalioz (5 intervenciones) el 16/01/2020 00:12:25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function n = factorial1(n)
while 1
    u=str2num(n);
    if isempty(u)
        n=input('Ingrese el numero X:','s');
    end
end
 
 
while(n<0)
    n=input('Ingrese un numero positivo: ');
end
 
if(n==0)
        n=1;
end
 
    aux=1;
    for i=1:n
       aux = aux*i;
    end
    n=aux;
end
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
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

Verificar si lo ingresado es un numero

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/01/2020 05:23:32
Si son cadenas, entonces se introduce entre apóstrofe y si son números, simplemente escribes el número sin apostrofe.
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

Verificar si lo ingresado es un numero

Publicado por Kalioz (5 intervenciones) el 16/01/2020 20:35:01
Me sigue dando el mismo error :/
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
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

Verificar si lo ingresado es un numero

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 16/01/2020 23:06:10
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
function n = factorial1(n)
if length(n)>1
while 1
    u=str2num(n);
    if isempty(u)
        n=input('Ingrese el numero X:','s');
    end
end
end
 
 
while(n<0)
    n=input('Ingrese un numero positivo: ');
end
 
if(n==0)
        n=1;
end
 
    aux=1;
    for i=1:n
       aux = aux*i;
    end
    n=aux;
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
>> factorial1(jhty)
Undefined function or variable 'jhty'.
 
>> factorial(jhty)
Undefined function or variable 'jhty'.
 
>> factorial1(5)
 
ans =
 
   120
 
>> factorial(5)
 
ans =
 
   120
 
>> factorial1(-7)
Ingrese un numero positivo: 4
 
ans =
 
    24
 
>> factorial(-7)
Error using factorial (line 20)
N must be an array of real non-negative integers.
 
>> factorial1(0)
 
ans =
 
     1
 
>> factorial(0)
 
ans =
 
     1

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


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

Verificar si lo ingresado es un numero

Publicado por Kalioz (5 intervenciones) el 19/01/2020 16:54:14
Crear un archivo tipo función: factorial.m el cual contenga un programa que permita
ingresar un numero entero no negativo y calcule el factorial del numero, (utilizando
bucles y no funciones matemáticas diseñadas, se permite mod, y round). Si no
ingresar un numero entero no negativo, que repita la pregunta, en este caso también
debe repetir la pregunta si ingresa letras en vez de números.

Mira eso es lo que tengo que hacer, la idea que pida que ingrese de nuevo por teclado si se ingresa una letra o un string

pd: te agradezco mucho tu ayuda
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