Hosted by CoCalc
Download
Kernel: Unknown Kernel

Manual de uso de los documentos interactivos

En este documento explicaremos cómo usar los "cuadernos interactivos" (notebooks) que permiten presentar texto, imágenes y código para poder ejecutar pequeños programas. No entraremos en los detalles de cómo se programa ni en la plataforma en la que se basan. Únicamente decir, que los presentes documentos se han generado mediante la herramienta IPython Notebook, utilizando el lenguaje Python más ciertos módulos necesarios para implementar algunas funciones y para dibujar las gráficas. Para aquellos estudiantes que quieran saber más, a continuación se facilitan una serie de enlaces en donde pueden encontrar mucha más información:

Tutorial oficial de Python

Tutorial de Python en español, con libro en pdf

Tutorial sobre las herramientas científicas en Python

Diversas lecciones sobre computación científica con Python

Los notebooks se ejecutan en remoto en el ordenador de la asignatura, y por tanto no precisan de ningún tipo de instalación por parte del usuario. Sin embargo, la herramienta en la que se basan (IPython Notebook) así como el lenguaje que utilizan (Python) son software libre y además gratuitos por lo que quien así lo desee, puede instalarlo en su ordenador local. En este caso, contactad con el profesor de la asignatura para obtener una guía de dicha instalación.

Uso básico de los documentos.


En los notebooks de la asignatura, tanto el texto como el código ya se encontrará escrito, por lo que la interacción con el documento consistirá, principalmente, en modificar el texto y código presentado y en ejecutar dicho código para representar las figuras y obtener los resultados buscados.

El documento se divide en celdas que pueden ser de texto o de código de programación (estas últimas se etiquetan con el simbolo In : a su izquierda. Cuando se ejecutan, aparece un número entre los corchetes que identifica a esa celda).

¿Cómo modifico una celda de texto?

Para modificar un texto se ha de hacer doble-click con el ratón sobre él. Una vez terminada la modificación, y para salir del modo de escritura, se ha de ejecutar (al no haber código, la ejecución solo permite mostrar el texto de una forma más legible). Para ejecutar una celda, veáse un poco más abajo.

¿Cómo modifico una celda de código?

Para modificar el código y ver el resultado, se procede de la misma forma: doble-click con el ratón sobre el código, se procede a modificar los valores de los parámetros y posteriormente se ejecuta la celda. A continuación se describe cómo se realiza dicha ejecución.

¿Cómo ejecuto una celda?

Para ejecutar una celda y por ejemplo, ver el resultado del código que en ella se ha escrito, se ha de presionar a la vez Mayúsculas + Enter o bien, pinchar con el ratón en el triángulo (símbolo de Play) que se encuentra en la barra superior (justo debajo de la opción en el menú indicada por la palabra Cell).

¿Cómo salvo mi documento y lo cierro?

El programa IPython Notebook posee una función de autosalvado cada un par de minutos, por lo que no es necesario salvar el documento. Aun así, hay una opción en el menú File para guardar manualmente.

Cómo cerrar el documento de forma limpia (sin dejar procesos en segundo plano corriendo), cambia dependiendo de si el documento se abre ejecutando IPython Notebook en el propio ordenador (modo local) o bien se ejecuta a través del servicio SageMath Cloud. En modo local se ha de pinchar en la opción Close and halt dentro del menú File, mientras que en SageMath Cloud basta con salirse del servicio, o bien, pinchar en la cruz que aparece al lado del nombre de nuestro documento en la parte superior de la página.

Vamos a ver un pequeño ejemplo. A continuación se muestra una parte de un notebook de la asignatura,

from IPython.core.display import Image,display Image(filename="./Interferencia2OndasPart.png")
Image in a Jupyter notebook

Vemos por ejemplo que en la celda identificada por la etiqueta In[3] tenemos un pequeño código que nos permite dibujar la irradiancia total que se obtiene de la interferencia de dos ondas. El código crea un vector delta de desfases relativos y calcula para cada uno de ellos la irradiancia total I_t. Después lo dibuja en una figura asignando ciertas etiquetas a los ejes, para identificarlos.

Si queremos modificar por ejemplo, I_1, pincharíamos en esa celda, modificaríamos su valor y presionaríamos Mayúsculas + Enter o ejecutaríamos la celda con el ratón como se ha explicado anteriormente. Eso produciría una nueva figura de la irradiancia total con el nuevo valor de I_1

Si por el contrario, queremos modificar el texto superior donde aparece la fórmulas de la irradiancia total que se obtiene cuando dos ondas interfieren, haríamos doble-click en el texto, lo cambiaríamos y después pincharíamos fuera de ese texto para salirnos de esa celda.


Para saber un poquito más

A continuación explicamos un poco más de la estructura de los notebooks presentados, comentando las opciones de los menús superiores y cómo modificar y crear nuevos documentos. Si únicamente se desea trabajar con los contenidos de los notebooks mostrados en la asignatura, se puede prescindir de esta parte del manual de uso.

¿Qué es eso que me encuentro al abrirlo?

Al abrir un notebook, nos encontramos con una barra con los controles necesarios y a continuación, con una página en blanco salvo por un espacio gris y las letras In a la izquierda, como se puede ver en la siguiente figura

from IPython.core.display import Image,display Image(filename="./figuraIP2.png")
Image in a Jupyter notebook

Vamos a describir cada elemento qué vemos en la anterior imagen de abajo hacia arriba:

  • El espacio en gris es una celda la cual es cada elemento en donde podemos escribir. El tipo de celda (si es una celda en donde queremos escribir código, texto, o que sea un título, por ejemplo de una sección), lo controlamos con el menú desplegable superior que por defecto elige "Code" (Código).

  • Las letras In (de Input)sirven para tener un historial de las celdas. Cuando ejecutemos una celda (a continuación veremos cómo hacerlo) en el espacio entre los corchetes aparecerá un número, que será el indicativo de dicha celda. Si tenemos muchas celdas, podemos referirnos a una en concreto mediante este número.

  • Los botones superiores son atajos para las opciones de los menús más utilizadas. De izquierda a derecha: Salvar, Cortar, Copiar, Pegar, Mover la celda actual (en donde se encuentra el cursor) hacia arriba, Mover la celda actual hacia abajo, Crear una nueva celda por encima de la celda actual, Crear una celda nueva por debajo de la celda actual, Ejecutar una celda, Parar una celda. Finalmente tenemos el menú desplegable para controlar el tipo de celda.

  • Los menús superiores nos dan las opciones para manejar el notebook.

    File: Las opciones más comunes de crear un nuevo notebook, abrir uno existente, hacer una copia del actual, renombrarlo, salvarlo, etc.

    Edit: Las opciones de cortar la celda actual, copiarla, pegar la selección, mover celdas, dividir las celdas o unir dos celdas adyacentes.

    View: Únicamente nos permite mostrar u ocultar la barra de menús y la cabecera del notebook.

    Insert: Nos sirve para insertar una celda nueva por encima de la actual o por debajo de la actual.

    Cell: Nos permite ejecutar la celda actual o todas a la vez, y seleccionar también el tipo de celda que queremos.

    Kernel: Este menú nos permite interrumpir o reiniciar el Kernel (núcleo en español). El kernel es el elemento que ejecuta todas las operaciones que le indicamos al notebook cuando escribimos algo en las celdas, ya sea calcular algo, mostrar una figura o imagen, etc. Así que en caso de problemas, podemos interrumpir y reiniciar el kernel para empezar de nuevo con el notebook (habrá que ejecutar todas las celdas de nuevo, eso sí).

    Help: Ayuda.

¿Puedo modificar lo que quiera?

La respuesta es sí y no. Sí porque para eso hemos hecho estos documentos, para que se modifiquen y se interactúe con ellos. Sin embargo, se ha de tener en cuenta que si el notebook con el que se trabaja es también accesible por otras personas que se conecten al servidor, y se salvan las modificaciones introducidas, la siguiente persona que acceda no verá el notebook original (en los casos en los que el notebook sea un ejercicio específico para un grupo o estudiante, el resto del curso no verá ese notebook y no habrá dicho problema, se puede salvar sin problemas).

La opción de no salvar las modificaciones en el notebook limita la capacidad de interactuar en otro momento con él desde el punto en el que se dejó anteriormente. Por tanto, se ofrecen dos opciones para salvar las modificaciones que se realicen:

  1. Crear una copia del notebook y salvar esa copia en el servidor con un nombre característico (por ejemplo, "ExperimentoYoungJuanPerezGrupoA"). De este modo será accesible en un futuro.

  2. Instalar iPython Notebook (la herramienta en la que se basan estos documentos y en la que corren) en el ordenador de casa y descargar el notebook a ese ordenador. De este modo, se dispone de una copia local que se puede modificar y salvar todas las veces que se quieran. Como la instalación no es un proceso de un sólo click, consultar con el profesor de la asignatura para obtener alguna indicación que lo haga más fácil.

Quiero generar nuevos notebooks, con código escrito por mí

Quien quiera puede generar nuevos notebooks y probar programas escritos por él por medio de la opción New del menú File.

Si se dispone de algún conocimiento del programa de cálculo numérico MATLAB, escribir nuevos programas no resulta nada complicado. La gran mayor parte de comandos válidos para MATLAB se pueden utilizar. Para una lectura más profunda, se puede consultar el siguiente enlace:

Equivalencia de comandos para usuarios de MATLAB

En caso de que se disponga de una mayor motivación, se pueden consultar los enlaces proporcionados al principio de este documento.