An Elementary Introduction to the Wolfram Language
9Manipulación interactiva
Con el control deslizante se pueden escoger valores de n entre 1 y 5 (en incrementos de 1):
In[1]:=
Click for copyable input
Out[1]=
Aquí aparece la secuencia completa de los resultados posibles:
In[2]:=
Click for copyable input
Out[2]=
Abajo se muestra una interfaz semejante a la anterior para presentar una columna con las potencias de un número:
In[3]:=
Click for copyable input
Out[3]=
Pero aquí se muestra la lista de todos los resultados posibles para este caso:
In[4]:=
Click for copyable input
Out[4]=
A diferencia de Table, Manipulate no se limita a un conjunto fijo de valores posibles. Simplemente con omitir la especificación del incremento en Manipulate, se dará por sentado que se usarán todos los valores posibles de la gama, sin limitarse a números enteros.
In[5]:=
Click for copyable input
Out[5]=
Un diagrama de barras que cambie al moverse el deslizador:
In[6]:=
Click for copyable input
Out[6]=
Un diagrama circular de la misma lista anterior:
In[7]:=
Click for copyable input
Out[7]=
Manipulate permite usar varios controles a la vez. Basta con dar la información para cada uno, de manera consecutiva.
Para construir una interfaz que permita variar el número de lados y la tonalidad de un polígono:
In[8]:=
Click for copyable input
Out[8]=
Hay muchas formas de especificar los controles para Manipulate. Si se le da una lista de valores posibles, se obtiene un selector o menú.
Construya una interfaz que permita elegir entre tres colores:
In[9]:=
Click for copyable input
Out[9]=
Si hay más posibilidades de elección, como por ejemplo el tamaño, Manipulate propone un menú desplegable:
In[10]:=
Click for copyable input
Out[10]=
Manipulate[algo,{n,0,10,1}] manipula algo donde n varía de 1 en 1
Manipulate[algo,{x,0,10}] manipula algo donde x varía de manera continua
1.1Construya un Manipulate que muestre Range[n] para los valores de n entre 0 y 100. »
Salida esperada:
Out[]=
1.1Produzca un Manipulate para graficar los enteros hasta n, donde n puede ir de 5 a 50. »
Salida esperada:
Out[]=
1.1Formule un Manipulate que muestre una columna de entre 1 y 10 copias de x . »
Salida esperada:
Out[]=
1.1Cree un Manipulate para graficar números del 1 al 100, cada uno elevado a alguna potencia entre 1 y +1. »
Salida esperada:
Out[]=
1.1Cree un Manipulate que muestre un disco cuya tonalidad varíe entre 0 y 1. »
Salida esperada:
Out[]=
1.1Escriba un Manipulate que muestre un disco de color especificado por sus componentes rojo, verde y azul, donde cada uno de estos varíe entre 0 y 1. »
Salida esperada:
Out[]=
1.1Escriba un Manipulate que muestre el número 1000 de un tamaño entre 50 y 100. »
Salida esperada:
Out[]=
1.1Formule un Manipulate que muestre secuencias de los dígitos de enteros de 4 dígitos (entre 1000 y 9999). »
Salida esperada:
Out[]=
1.1Escriba un Manipulate para crear una lista de entre 5 y 50 tonalidades igualmente espaciadas. »
Salida esperada:
Out[]=
1.1Cree un Manipulate para mostrar una lista de un número variable de hexágonos (entre 1 y 10), con tonalidades variables. »
Salida esperada:
Out[]=
1.1Escriba un Manipulate que muestre un polígono regular con entre 5 y 20 lados, de colores rojo, amarillo o azul. »
Salida esperada:
Out[]=
1.1Cree un Manipulate que muestre un diagrama circular con un número (entre 1 y 10) de segmentos iguales. »
Salida esperada:
Out[]=
1.1Escriba un Manipulate que produzca un diagrama de barras de los tres dígitos que tiene cada entero entre 100 y 999. »
Salida esperada:
Out[]=
1.1Proponga un Manipulate que muestre una gráfica de barras con cuatro barras, cada una de una altura entre 0 y 10. »
Salida esperada:
Out[]=
1.1Proporcione un Manipulate que muestre n colores aleatorios, donde n puede variar entre 1 y 50. »
Muestra de salida esperada:
Out[]=
1.1Escriba un Manipulate para mostrar una columna de potencias enteras, con bases del 1 al 25 y exponentes del 1 al 10. »
Salida esperada:
Out[]=
1.1Cree un Manipulate para mostrar los valores de x^n en una recta numérica , donde x sea un entero entre 1 y 10, y donde n varíe entre 0 y 5. »
Salida esperada:
Out[]=
1.1Escriba un Manipulate que muestre una esfera tal que su color varíe entre el verde y el rojo. »
Salida esperada:
Out[]=
¿Funciona igual Manipulate en la web, en dispositivos móviles y en computadoras?
Pues sí, aunque tal vez sea significativamente más lento en la web y en algunos dispositivos móviles, ya que, cada vez que se mueve un deslizador, el sistema debe comunicarse con un servidor a través de internet para determinar lo que haya que hacerse. En computadoras y algunos dispositivos móviles todo sucede ahí mismo, dentro del mismo equipo o dispositivo, así que es muy rápido.
¿Puede hacerse una aplicación autónoma a partir de un Manipulate?
Sí. Para hacer una aplicación web, por ejemplo, simplemente hay que utilizar CloudDeploy. Este tema se tocará en la Sección 36.
¿Pueden usarse números aleatorios en un Manipulate?
Sí, pero, a menos que se utilice una semilla usando SeedRandom, los números aleatorios serán diferentes cada vez que se mueva algún deslizador.
  • Manipulate funciona prácticamente con todo tipo de controles estándar para interfaz de usuario (casillas para marcar, menús, campos para entrada, selectores de color, etc.).
  • En Manipulate los deslizadores ofrecen a veces un botón que da acceso a controles adicionales, incluyendo animación, avance en incrementos discretos, y la presentación del valor numérico.
  • Muchos controles se presentan de manera diferente en dispositivos con ratón y panel táctil, y algunos funcionan únicamente con uno de los dos.
  • Si se está trabajando originalmente en la computadora propia, los dispositivos tales como gamepads deberían funcionar sin problema con Manipulate. Se puede especificar qué controles deben ligarse con cuál de ellos. ControllerInformation[ ] proporciona la información acerca de todos los controladores.
  • El Proyecto de demostraciones Wolfram contiene más de 11 000 demostraciones interactivas creadas con Manipulate
     
    Download Notebook Version
    en