SoloCodigo

Programación Específica => Matlab => Mensaje iniciado por: bertuccio en Miércoles 18 de Julio de 2007, 14:11

Título: Introducción De Datos Desde Teclado Usando Input
Publicado por: bertuccio en Miércoles 18 de Julio de 2007, 14:11
Hola a todos, soy un novato en el manejo de Matlab y mi duda es la siguiente: al usar input para pedir datos por teclado al usuario, si este no escribe nada y pulsa Intro directamente, la función lo toma como dato válido.  No sé qué hacer para  distinguir cuando no se escribe nada, me podéis dar alguna sugerencia? Gracias!
Título: Re: Introducción De Datos Desde Teclado Usando Input
Publicado por: cloker en Miércoles 18 de Julio de 2007, 15:15
si es una cadena de caracteres supongo que lo podras distinguir con length=0
y si son digitos creo que con size puede funcionar.
yo tambien soy nuevo en matlab posiblemente no funcione, y seguro que hay una manera mejor de hacerlo.
un saludo y espero haberte ayudado.
Título: Re: Introducción De Datos Desde Teclado Usando Input
Publicado por: bertuccio en Jueves 19 de Julio de 2007, 13:01
Gracias por la ayuda, con size va bien; pero ahora intento poner en una misma sentencia las condiciones de q el dígito introducido sea positivo y size~=0, y no m deja. Con los operadores lógicos AND y OR no puedo hacerlo porque son escalares. Esto es lo q intento hacer:

W = input('Introduzca la anchura:     ');          
n = size(W);

if (n > 0 & W > 0)
        H = input('Introduzca la altura:     ');
        n = size(H);
else    
        while (W <= 0 | n == 0)
            W = input('El dato introducido no es valido; por favor, introduzcalo de nuevo:   ');
            n = size(W);
        end

De otra forma conseguí un tocho de código con  bucles while y sentencias if q siempre me dejan alguna posibilidad sin cubrir, algún consejillo?
Título: Re: Introducción De Datos Desde Teclado Usando Input
Publicado por: cloker en Jueves 19 de Julio de 2007, 17:45
creo que no me he enterado bien, si tu pones (como ya tienes) que las medidas tienen que ser mayor que 0 no hace falta ese while, el else ya afecta a todos los negativos y al 0 no?
he borrado la linea del while y el programa funciona igual, es eso lo que quieres todo en el if?

p.d. tu sabes como codificar con asteriscos o cualquier otro simbolo una cadena de caracteres?? es que nadie me contesta  :D
Título: Re: Introducción De Datos Desde Teclado Usando Input
Publicado por: bertuccio en Viernes 20 de Julio de 2007, 10:32
Pues verás, mi principal problema viene porque si no introduzco un dato correctamente me aparece esto:

??? Error using ==> or
Inputs must have the same size.

y lo mismo con el AND; al calcular el tamaño con size el programa lo entiende como un array 1x1, al compararlo con W me dice esto. Pero ya lo haré d otra forma, aunq así parece menos complejo en cuanto a código :)

Muchas gracias por tu ayuda, siento no poder corresponderte... estoy un poco pegado en esto :(