Subido por caatro1021

Practica 1 - Wolfram Mathematica

Anuncio
Práctica I: Introducción a
Wolfram Mathematica
Generalidades
Wolfram Mathematica es un sistema computacional
técnico cuyo kernel opera interpretando el lenguaje
Wolfram y la interfaz gráfica funciona como Notebook
Documents.
Los Notebook Documents son trabajados en divisiones conocidas como celdas que
ejecutan comandos de programación literaria.
Cada Corchete resaltado en gris y ubicado a la izquierda
representa una celda del nb (notebook). Y podemos ver
que incluso tenemos Celdas que contienen a otras, esto se
debe a jerarquías, que veremos mas adelante.
Cada celda nueva que se crea de forma
automática será una celda de Lenguaje Wolfram,
fácilmente identificable porque cada letra o palabra
sin valor asignado será resaltada en color azul.
Las celdas pueden ser de varias formas, entrada de
texto, de comando. Incluso las entradas de texto
vienen separadas para mayor facilidad (Título,
Subtítulo, etc.)
1
En una celda a operar bajo Wolfram, lo que se coloca es: comandos,
operaciones, o asignaciones de variables.
2
Mientras la variable que se introduce, no tenga valor asignado, estará
resaltada en azul, de lo contrario lo que se ingreso, o tiene un valor, o
es una palabra reservada del lenguaje.
3
Una vez tenemos una instrucción colocada en la celda, hacemos
que dicha instrucción sea efectuada por el sistema utilizando las
teclas Shift + Enter.
Una vez hemos puesto a “correr” una celda, podemos observar a
la izquierda de la celda, el prefijo In de cuando se introdujo al
sistema una instrucción, y un Out con lo que la instrucción retorna.
Algo a tener en cuenta, Wolfram diferencia entre minúsculas y
mayúsculas, por lo tanto, se tiene que especificar bien cuando se
asigne o llame a una variable o comando.
Los comandos en wólfram, requieren que se les introduzcan sus respectivos
parámetros, por lo tanto en su sintaxis, luego de llamar al comando a usar, lo
común es que los parámetros se coloquen dentro de corchetes “[ ]”.
Por defecto, Wolfram opera en Radianes.
Las letras griegas también pueden ser usadas como
variables, no tienen comportamiento “especial” solo por ser
un carácter diferente
En Wolfram se pueden introducir letras griegas de diversas
formas, pero así como se menciono antes, no solo tenemos
palabras como reservadas para el lenguaje, también hay
letras reservadas.
Valor Numérico y Simplificación
Podemos también reducir o simplificar diferentes expresiones ya sea que el sistema nos retorno
como alguna evaluación o cálculo, o una expresión que nosotros tenemos externamente y
deseamos reducir. Podemos Simplificar el ultimo valor obtenido, simplificar una expresión o
incluso el resultado que se obtendrá de alguna operación usando el comando FullSimplify.
Por defecto, Wolfram siempre busca dar una solución analítica a todo cálculo que se le pida
efectuar, pero si deseamos obtener el resultado numerico de cualquier operación tenemos dos
formas para hacerlo: Encontrando el valor de la ultima salida del software o usando el
comando en la operación a realizar.
Operaciones Básicas
Las operaciones pueden realizarse directamente con el teclado o haciendo uso de las
paletas del programa.
Suma
Resta
Multiplicación
División
La multiplicación también puede
expresarse con solo un espacio. Sin
embargo este puede crear confusión a
veces.
Una misma operación puede realizarse de varias maneras equivalentes.
Potencias
Raíces
Teclado
Paletas
Comando
Todo comando que utilice tendrá la siguiente estructura básica:
El nombre del comando
• Siempre iniciará con mayúscula.
• Siempre será color negro.
El argumento
• Siempre estará contenido entre
corchetes.
• Su formato específico
dependerá del comando.
Herramientas
1
Entre herramientas que la interfaz de Wolfram pone a
nuestra disposición, quizás de las mas útiles cuando se viene
empezando e incluso teniendo experiencia, vienen a ser las
Paletas de Ayudante.
Contamos con 3 tipos de “Ayudantes”: Ayudante
de Clase, Ayudante de Escritura y Ayudante de
Matematica Básica.
Probablemente, el de mayor utilidad para
nosotros en estos momentos, es el Ayudante de
Escritura.
2
A continuación tenemos el Ayudante de Escritura, esta
paleta cuenta con 3 diferentes menús:
1. Escribir y Formatear
2. Composición Tipográfica
3. Ayuda y Opciones
En cuanto al primer menú, tenemos opciones para cuando
las celdas que estamos manipulando son celdas de texto.
2.1
2.2
2.3
2.4
2.1
Podemos modificar la celda actual en la que estamos o tirar una
nueva, como una celda con características definidas por defecto,
como ser cierto tamaño y color de fuente para separar títulos y
subtítulos.
2.2
En celdas de Sección, no solo implica un tamaño y color de fuente,
también se coloca una separación visible en el caso de Sección, y
una sangría en el caso de subsecciones. Esto para mantener
definidas las jerarquías, por lo que es posible ocultar todo el texto en
una sección y solo mostrar su encabezado (en casos de notebooks
largos).
2.3
Las celdas de texto, principalmente ayudan para definir donde
colora texto plano en el notebook, o si desea agregar viñetas. Pero
también, le permite crear celdas dentro o fuera de jerarquías.
2.4
Las celdas matemáticas traen configuraciones para escribir con
mejor estética texto matemático, como alinear ecuaciones para
separar pasos en demostraciones. (Ojo, sigue siendo texto, no
comandos).
Ejemplo de Notebook
Celdas de Titulo, Sección y Jerarquías
En este caso, tenemos el mismo notebook que en la
izquierda, excepto que podemos tanto ocultar como mostrar
lo que se encierra en cada sección. Ademas, también
podemos extender una sección y ocultar las subsecciones.
Referente al menú de Composición Tipográfica, lo que este
nos ayuda principalmente con texto matemático sea para
correr los comandos o para escribir texto plano.
Tenemos
diferentes
opciones,
como
ser
superíndices(potencias),
subíndices,
fracciones,
radicales. El punto relleno indica donde estaría
nuestra ingreso de texto actual, y el recuadro sin
relleno, donde nos va a permitir añadir escritura.
Y es bastante útil también cuando se quieren definir
matrices y se dificulta entender como funciona la
escritura en código, por lo que podemos añadir una
ayuda visual y colocar nuestros elementos
manualmente.
Como bien se observa, el menú de composición tipográfica
tiene múltiples pestañas. No hablaremos de todas, pero si es
bueno mencionar la segunda pestaña, la de Cáracteres
Especiales.
No hay mucho que decir aca, excepto que nos muestra
multiples símbolos y letras griegas que pueden ayudar a
desarrollar un notebook con mejor estética y legibilidad.
Ademas que no necesitamos mencionar las demás
pestañas, dado que en esta, al final, observamos una
opción extra que dice “Todos los caracteres y símbolos
especiales” en dicha opción, están contenidos los elementos
de las demás pestañas.
Entre los demás elementos, son de bastante utilidad cuando
se tienen teclados cuya configuración de idioma, no
permite que se utilicen operadores matemáticos como
“mayor o menor que” y además incluyo el resto de
operadores matemáticos y lógicos.
Evaluación
Algo a tener en cuenta, es que muchas veces cerramos y
volvemos a abrir un notebook, y tenemos un trabajo sin finalizar. Lo
primero que notamos, es que todas nuestras variables que
habíamos definido, han sido limpiadas.
Obviamente, volver a evaluar cada celda usando Shift
+ Enter sería algo tedioso. Por eso Wolfram trae una
opción en su menú de “Evaluación” que nos ayuda en
este caso.
Dicha opción es “Evaluar Cuaderno” y como su
nombre indica, evalúa todas las casillas que
ingresan datos para que Wolfram las corra.
Considerar también, “Anular Evaluación” esto nos viene a bien
cuando por algún motivo, se esta evaluando una celda con
algún problema en su definición, de forma que la evaluación
tardara demasiado o no terminara.
Limpiar Variables
Algo importante es considerar, dado que inventamos variables y les
asignamos valores, es si es posible reutilizar las variables, o asignarles
otros valores.
Lo cierto es que si podemos, fácilmente podemos reescribir la misma
variable y asignarle un valor nuevo. Pero a veces, tras múltiples
evaluaciones de celdas, la variable suele entrar en un conflicto de
memoria y no estar seguro de cual es su valor asignado, lo que suele
guiar a obtener valores erróneos en nuestros cálculos.
Acá es donde, tenemos un comando que viene a servir de
maravilla en este tipo de situaciones, el comando Clear[ ], con
este comando, podemos borrar cualquier valor que asignamos
a nuestra variable, y así dejarla libre para asignarle un valor
nuevo sin peligro de ningún conflicto de memoria.
Ahora, también puede venir a resultar tedioso, tener que
escribir todas las variables a las que les asignamos valor e ir
limpiado los valores de cada una de ellas.
Aquí, es donde tenemos una extensión de el comando Clear,
y ese es: ClearAll [“Global`*”] usando este comando,
limpiamos los valores asignados a todas nuestras variables.
Documentación de Wolfram
Una de las grandes herramientas que tenemos los usuarios de Wolfram, es su Documentación, en
muchos casos no se le presta la suficiente atención, pero es bastante completa y muy bien realizada,
contiene múltiples ejemplos en los que desarrolla sus comandos además de explicar cada parámetro
que este posee y ejemplos en los que es utilizado.
La forma mas común de usar la documentación
es colocar el comando del cual se desea
conocer su funcionamiento en el buscador.
Lo primero que se nos muestra, es las diferentes formas en
que podemos correr el comando, según los parámetros
que disponemos para definir.
Luego, nos muestra ejemplos corriendo el
comando bajo diferentes parámetros y
podemos observar el comportamiento del
comando según lo que le es ingresado
Además que tenemos a nuestra
disposición bastante información para
escoger sobre el funcionamiento de
cualquier comando.
Funciones
Para una función dependiente de dos o más
variables, simplemente colocar las variables
entre corchetes, separándolas por comas:
Para evaluar la función, sustituimos entre los corchetes el valor(es) para el que
queremos evaluar:
La función no necesariamente tiene que evaluarse en un valor numérico:
Recuerde: El guión bajo se utiliza solo cuando se
define la función inicialmente, no cuando se está
evaluando.
Resolución de sistemas de ecuaciones
Vectores
Para definir los vectores en Wolfram, colocamos cada
componente separada por comas, dentro de llaves
Algo importante a tener en cuenta, es que el producto
escalar lo podemos expresar de dos formas diferentes, una es,
llamando las variables involucradas y utilizar el símbolo del
punto ( . ) y la otra, es usando el comando Dot [ ].
Respecto al producto vectorial o producto cruz, se tiene una
similitud con el producto escalar, tenemos un comando para
efectuarlo, Cross [ ] y también hay una forma utilizando
símbolo, solo que no suele usarse con regularidad puesto que
el símbolo debe añadirse desde la paleta o llamándolo.
Para calcular gradientes, lo hacemos con el comando Grad
donde primero ingresamos la función que nos interesa, sea
colocándola manualmente o en una variable donde fue
guardada, y los parámetros son las dimensiones de dicha
funcion
Podemos a los vectores que hemos definido, calcular el rotacional
de estos. Para ello usamos el comando Curl, donde el primer
parámetro que ingresamos es nuestro vector, y seguido, cuales son
sus coordenadas.
Algo a tomar en cuenta, es que si trabajamos en otro sistema de
coordenadas, podemos especificar el mismo al momento de
ejecutar el comando, como en el caso mostrado, usando
coordenadas Polares.
Finalmente, tenemos el caso de la Divergencia, su
calculo es idéntico al del rotacional, nada mas
que el comando a emplear es Div.
Por defecto, Wolfram trabaja bajo coordenadas
cartesianas, pero si vamos a trabajar todo un
desarrollo en otro sistema de coordenadas,
podemos definir dichos sistema como el base
utilizando el comando SetCoordinates [ ] y usamos
como parámetro el sistema que deseamos
Si tenemos coordenadas de un sistema, y
deseamos convertirlas a otro, tenemos para ello, el
comando CoordinateTransform con los parámetros
“Coord. Inicial” -> “Coord. Deseada”, {variables}
Gráficas
Valor mínimo y máximo
de la variable
independiente.
Función a graficar en
términos de la variable
independiente.
La gráfica, por defecto, será
mostrada en azul.
Nombre de los ejes
Color del gráfico
Leyenda
Nombre del gráfico
Los puntos deben guardarse como una lista de pares ordenados
agrupados por llaves y separados por comas.
Controla el tamaño de los puntos
La leyenda se mostrará automáticamente para
aquellas gráficas que ya tenían leyenda. No
puede definirse en el comando Show.
Show mostrará varios gráficos
superpuestos, sean estos
funciones, puntos, o una
combinación de ambos.
Se puede personalizar la gráfica de la
misma manera como se hace con los
gráficos individuales.
Cualquier parámetro que no haya sido
redefinido en Show, será mostrado de
acuerdo a como fue definido en la
gráfica del primer argumento (Gr0 en
este caso).
Función que depende de
dos variables
Puede rotar la vista de la
gráfica para comprenderla
mejor.
Paleta de colores del
gráfico
Nombre del gráfico
Leyenda
Un Gráfico de Contorno es una
representación bidimensional de
una superficie tridimensional en
“tajadas,” como curvas de nivel.
Los contornos unen puntos con el
mismo valor de la función.
Nombre de los ejes
Observación: Vemos que si
rotamos la gráfica en 3D de este
función que habíamos realizado
anteriormente, de manera que la
veamos directamente desde arriba,
ésta coincide con ContourPlot. De
manera, que es evidente que las
curvas de contorno no son más que
curvas de nivel que usan
tonalidades de colores para mostrar
en dos dimensiones un
comportamiento que realmente es
tridimensional.
Ya que en electomagnetismo se trata con campos vectoriales, tales como el campo eléctrico y
magnético, es importante poder graficarlos.
Para ello, utilizamos el comando StreamPlot, siguiendo los mismo principios que en las gráficas
anteriores.
Tema del Gráfico
El tema del gráfico en realidad abarca mucho más
que el color. En este caso, genera la leyenda
también. Para entender lo que abarca el tema que
desea seleccionar, consulte la documentación del
programa.
Gráficos de Discrepancia
Ajustes de Datos
Ahora, para lo principal que vamos a utilizar
wólfram, es para encontrar Ajustes a nuestros
Datos
Lo primero, es que debemos saber como transcribir los
datos que tenemos recopilados de nuestras mediciones.
El formato es { {X1,Y1, {X2,Y2}, {X3,Y3} …. }
El comando que usaremos para encontrar nuestro
ajuste es: LinearModelFit este comando es si
deseamos encontrar un ajuste Lineal. Bajo sus
parámetros
tenemos:
nuestros
datos,
los
coeficientes, y la variable de la que depende dicha
función
Si nuestro ajuste linear, será uno sin intercepto,
agregamos una opción mas al comando, la opción
IncludeConstantBasis –> False
Ahora, algo a tener encuenta, es que el comando
LinearModelFit retorna mucha mas información que
solo el polinomio de ajuste. Podemos obtener mas
información de lo que se obtuvo usando el
comando [“ParameterTable”]
De momento, lo que nos interesa de la tabla de
parámetros, son las primeras dos columnas, estas
son los valores estimados de el ajuste, y el error
asociado a cada uno.
Como LinearModelFit nos da mucha mas
información, también entonces, debemos usar
comandos para aislar las partes que nos interesan,
en este caso, la forma de la función de ajuste. Para
ello usamos el comando Normal a la variable en la
que hemos guardado la información del ajuste
Ahora, en Wolfram, no podemos calcular
solamente ajustes lineales, también podemos
encontrar funciones de ajuste de cualquier otra
forma
Tenemos dos formas para encontrar ajustes, uno
de ellos es el comando FindFit.
Variable que almacena los datos
Forma del ajuste que deseo, en este caso un
polinomio cuadrático.
Coeficientes de la función de ajuste
Variable de la que depende la función de ajuste
Y el otro comando
NonlinearModelFit
que
disponemos,
es
Variable que almacena los datos
Forma del ajuste que deseo, en este caso un
polinomio cuadrático.
Coeficientes de la función de ajuste
De igual forma que el comando LinearModelFit
este también retorna mucha mas información de
lo que muestra originalmente, por ello es que
siempre retorna un resultado encerrado en un
recuadro. Y podemos usar los mismos comandos
para extraer mas información de lo que retorno.
Variable de la que depende la función de ajuste
Cálculo
Se puede derivar e integrar ya sea usando comandos o las paletas.
Derivadas
En el caso de querer derivar una
función que ya hemos definido,
dependiente de una sola variable,
colocamos “ ‘ "
Integrales
Variable respect a la
cual se está integrando.
En el caso de una integral
definida, agregamos al segundo
argumento el intervalo para el
cual estamos integrando:
Se puede escribir la función
directamente o llamar por su
nombre una función que ya se
había definido.
En algunos casos, Mathematica puede indicarnos que si no establecemos
condiciones al problema, éste puede no estar definido:
En este caso, el mensaje nos indica que el problema solo tiene solución si n es un
valor real menor que cero.
Para evitar este problema y para agilizar el tiempo de procesamiento para funciones
más complejas, establecemos de antemano las condiciones del problema:
Para integrales múltiples definidas e indefinidas, lo más sencillo es realizarlas con las
paletas:
Todo esto también lo podemos aplicar a vectores:
Descargar