Dividir una instrucción en varias líneas [Matlab]

Iniciado por Daor02, 30 Noviembre 2016, 22:59 PM

0 Miembros y 1 Visitante están viendo este tema.

Daor02

Buenas tardes! Tengo una duda muy sencilla, pero que al tiempo no he podido solucionar. Cuando, en Matlab, uso un inputdlg, puedo dividir la instrucción en varias líneas separando cada parte con comas y agregando tres puntos, como aquí:

Código (matlab) [Seleccionar]
datos=str2double(inputdlg({'Ingrese la coordenada en x del punto 1: ','Ingrese la coordenada en y del punto 1: ',...
                           'Ingrese la coordenada en x del punto 2: ','Ingrese la coordenada en y del punto 2: ',...
                           'Ingrese la coordenada en x del punto 3: ','Ingrese la coordenada en y del punto 3: '}))


Aun así, quiero hacer lo mismo con una instrucción que usa un input regular, pero no lo logro. Así lo estoy haciendo:

Código (matlab) [Seleccionar]
opc = double(input('Ingrese la opcion que desea: \n1. Pulgadas a',...
                   'milimetros \n2. Yardas a metros \n3. Millas a kilometros'))


Pero me sale este error: Error using input
The second argument to INPUT must be 's'.


Alguien me puede ayudar a separar en varias líneas el texto después de un input? Gracias!

MCKSys Argentina

Hola!

Reconozco que jamás he usado el programa, pero según veo, para separar un string (s) en varias líneas, debes usar los 3 puntos seguidos (...).

Lo que veo que tienes demás es la coma (,) antes de los 3 puntos.

Quizás ése sea el problema.

Saludos!
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Daor02

Cita de: MCKSys Argentina en 30 Noviembre 2016, 23:05 PM
Hola!

Reconozco que jamás he usado el programa, pero según veo, para separar un string (s) en varias líneas, debes usar los 3 puntos seguidos (...).

Lo que veo que tienes demás es la coma (,) antes de los 3 puntos.

Quizás ése sea el problema.

Saludos!

Gracias! Pero no, aun así no me sirve :( De hecho, con el inputdlg, la coma es necesaria.

MCKSys Argentina

#3
Si, pero parece que ahí es necesaria porque son parámetros.

En los strings sólo se usan los 3 puntos. Esto lo saco de aquí: https://www.mathworks.com/help/matlab/matlab_prog/continue-long-statements-on-multiple-lines.html

Saludos!

EDIT: Encontré un ejemplo que te servirá: https://www.mathworks.com/matlabcentral/answers/31862-display-an-input-sentence-to-the-user-on-multiple-lines

Fíjate la respuesta que dan ahí.
MCKSys Argentina

"Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."


Daor02

Cita de: MCKSys Argentina en 30 Noviembre 2016, 23:13 PM
Si, pero parece que ahí es necesaria porque son parámetros.

En los strings sólo se usan los 3 puntos. Esto lo saco de aquí: https://www.mathworks.com/help/matlab/matlab_prog/continue-long-statements-on-multiple-lines.html

Saludos!

EDIT: Encontré un ejemplo que te servirá: https://www.mathworks.com/matlabcentral/answers/31862-display-an-input-sentence-to-the-user-on-multiple-lines

Fíjate la respuesta que dan ahí.

Muchas gracias! De hecho, faltaban los corchetes cuadrados. Así queda solucionado:

Código (matlab) [Seleccionar]
opc = double(input(['Ingrese la opción que desea: \n1. Pulgadas a',...
                    'milímetros \n2. Yardas a metros \n3. Millas a kilómetros']))


Un saludo!