Apuntes Mathematica 1

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 5

UTN-FRBA Cátedra Matemática Superior Aplicada 2020

Autor: Ing. Emiliano Daniel Zottolo

Apuntes sobre funciones útiles de Mathematica

Estos apuntes tienen como objetivo explicar el uso de algunas funciones comunes del Wolfram
Mathematica® que son necesarias para el trabajo práctico de laboratorio. Referirse a la presentación
“Introducción al Mathematica” previamente para una visión general del programa.

ComplexExpand
La función ComplexExpand[] es una de las funciones más básicas y comunes que usaremos en esta
materia.

Concepto: ¿Cuál es la idea de usar esta función siempre que trabajamos en operaciones con números
complejos? Primero recordemos como definimos nosotros a un número complejo:

En forma binómica: 𝑧 = 𝑥 + 𝑖𝑦 En forma polar: 𝑧 = 𝑟𝑒

Nosotros sabemos que, por definición, los números x, y, r, θ son números reales; ya que el número
complejo se forma utilizando la unidad imaginaria i en combinación con los mismos.

Bien, esto uno lo tiene en cuenta siempre que operamos en el conjunto ℂ, pero entonces ¿Por qué algo
tan elemental sería necesario aplicarlo en el software de cálculo? Para contestarnos esta pregunta,
debemos recordar algo muy importante que siempre tenemos que tener presente cuando utilicemos
cualquier software o programa de computadora para ayudarnos a realizar cualquier tarea – La computadora
no piensa, no tiene poder de razonar o deducir situaciones como la mente humana. El programa siempre
se va a limitar a realizar un conjunto de operaciones ordenadas a partir de las entradas que nosotros le
demos como punto de partida; y en consecuencia nos devolverá una respuesta aplicando los algoritmos
correspondientes. Si nosotros ingresamos mal las variables o no tienen sentido físico, el programa no nos
va a devolver una respuesta correcta. Esto es central, no sólo para esta materia; es algo muy importante
que tenemos que tener en cuenta para nuestra carrera tanto académica como profesional en nuestro rol de
ingenieros. Si nosotros no pensamos y aplicamos un determinado criterio a los resultados de un software,
podemos estar obteniendo resultados erróneos sin darnos cuenta. El software no nos va a “salvar” de la
nada si no entendemos lo que estamos haciendo. Los programas informáticos nos ayudan muchísimo en los
problemas de la vida real, pero no tienen la capacidad en la actualidad de reemplazar el criterio
profesional/científico de una mente humana. Con esto dicho veamos la utilidad de esta función en el marco
de nuestro software.

Utilidad: El programa Wolfram Mathematica® en principio considera todas las variables que ingresemos
como si fueran números complejos, el conjunto numérico más amplio que puede existir. Por lo tanto, si
nosotros definiéramos una variable compleja como a+ib, el programa va a interpretar que tanto a como b
son números complejos también. Esto es incorrecto conceptualmente. Muchas veces esto no va a afectar
los cálculos subsiguientes, pero puede llevar a situaciones que representen absurdos conceptuales. Veamos
el siguiente ejemplo que ilustra particularmente bien el uso de ComplexExpand:

1
UTN-FRBA Cátedra Matemática Superior Aplicada 2020
Autor: Ing. Emiliano Daniel Zottolo

En este par de inputs del software lo que se quiere es almacenar una función de variable compleja 𝑓: ℂ →
ℂ / 𝑓(𝑧) = 𝑧 + 𝑅𝑒(𝑧) − 2𝐼𝑚(𝑧). Nosotros sabemos que la variable compleja z esta formada por las
variables reales x e y; pero si observamos el primer resultado del programa, nos devuelve algo que no tiene
sentido. El programa considera que x e y son variables complejas y por lo tanto plantea que puede haber
partes reales e imaginarias de esos números en lugar de expresar x o y dependiendo el caso. Para estas
situaciones usamos esta función. Observar cómo luego de utilizar ComplexExpand el programa ahora sí
puede interpretar que las variables contenidas dentro de esta función son números reales; y devuelve la
solución esperada. Siempre que trabajemos con operaciones de variable compleja y usando funciones como
parte real, imaginaria, módulo y argumento; es recomendable utilizarla para toda la expresión.

Funciones para obtener raíces: Solve – Reduce – Roots


Concepto: En esta materia muchas veces necesitaremos factorizar polinomios o extraer raíces. Para esta
tarea podemos utilizar tres opciones, que aunque utilizan métodos distintos o están enfocados a otros
problemas; pueden obtener el resultado que queremos.

Utilidad: se utilizan de la siguiente forma, en el primer argumento hay que definir al ecuación que hay
que resolver (el polinomio en este caso) igualándolo a 0 (en un sentido más amplio, las funciones Solve y
Reduce están pensadas para resolver ecuaciones algebraicas, por lo que podemos colocar ecuaciones de
todo tipo dentro de las mismas para despejar variables); y en el segundo indicamos la variable que
queremos despejar.

Un ejemplo demostrativo:

2
UTN-FRBA Cátedra Matemática Superior Aplicada 2020
Autor: Ing. Emiliano Daniel Zottolo

La función predeterminada para obtener raíces es Roots[], pero las otras opciones suelen funcionar en estos
casos también. Las diferencias entre las tres funciones son el modo de expresar el resultado; y los
algoritmos internos que utiliza cada una para despejar las variables. Si vemos que alguna en algún caso
puede traer algún inconveniente, podemos probar las otras. Recordar que para escribir una igualdad en una
ecuación necesitamos escribir ==.

Funciones para Elaborar tablas de valores y extraer de una lista –


Ejemplo con raíz de complejo
Ahora veamos un ejemplo de resolver la raíz de un número complejo para obtener todos sus valores. A
continuación se muestran los comandos utilizados y después se explicará las funciones que se usaron. En
este caso queremos obtener la raíz quinta de -1+i.

3
UTN-FRBA Cátedra Matemática Superior Aplicada 2020
Autor: Ing. Emiliano Daniel Zottolo

Para obtener las raíces, necesitamos obtener módulo y argumento del número; para lo cual usamos Abs[] y
Arg[] para obtenerlos (utilizando ComplexExpand por las razones previamente expuestas). Ahora, para
escribir la fórmula que conocemos de la teoría para obtener cada raíz; necesitamos armar una tabla de
valores con esa expresión. En esto entra en juego la función Table[].

Concepto: Table, como su nombre lo indica, es una función diseñada para armar una tabla de valores a
partir de una expresión dependiente de un parámetro.

Uso: Tiene dos argumentos. En el primero se escribe la expresión a resolver (para nuestro caso, la
expresión de las raíces del número complejo); y en el segundo se escribe la información del parámetro y

4
UTN-FRBA Cátedra Matemática Superior Aplicada 2020
Autor: Ing. Emiliano Daniel Zottolo

cómo se mueve. Nuestra expresión previa tiene que depender de un parámetro, en esete caso lo llamamos
k, al que hay que definirle de qué valor hasta cuál se va a evaluar la expresión. Esto siempre lo definimos
entre llaves {} en el programa. En este caso: {k,0,4}. Esta sintaxis se traduce como: evaluar con el
parámetro k, desde el valor 0 hasta el valor 4. Si no se define un valor de paso, lo va a asumir como de uno
en uno. Si necesitáramos hacer una tabla que se mueva de otra manera: {k,k_inicial,k_final,paso}.

Con esto obtenemos los cinco resultados que necesitábamos. El problema ahora es que el resultado
obtenido, tal cual expresado por la función Table; no se puede utilizar directamente en otra expresión.
Ahora veremos cómo extraer cada uno de esos valores de la tabla obtenida.

Concepto: Función Part[]. La idea de esta función es extraer valores de cualquier lista previa obtenida en
el notebook. Dependiendo como sea la tabla de origen, esta función es muy versátil y usando otros
parámetros se pueden extraer los elementos de diferente forma.

Uso: En nuestro caso, tenemos todos los valores expresados en una lista entre llaves {}. Como evaluamos
desde 0 a 4 tenemos en total 5 elementos en la lista que debemos individualizar. La función Part tiene
como primer argumento la tabla o lista de origen; y después se le agregan otros argumentos que
representan los elementos a extraer.

En el caso del ejemplo, la extracción es sencilla. Simplemente escribimos Part[Tabla de origen, Nº de


elemento a extraer]. Cuando escribimos Part[wk,1] estamos tomando el primer elemento de la tabla wk.

Hay otros casos donde se requieren agregar más argumentos. Veamos por ejemplo usando Roots:

Acá se puede observar la versatilidad de la función Part. En el primer caso, la utilizamos como en el
problema de radicación. El elemento extraído incluye la x y el signo igual de ecuación. Esto no sirve para
poder usar el valor que realmente nos interesa, que es 0.323783. La función en este caso simplemente
extrae el primer elemento de la lista de raíces, lo que incluye todo lo mencionado antes. Hay que observar
lo siguiente: la lista de raíces tiene como separadores las barras ||. La función identifica como separador
de elementos este símbolo. Si nosotros queremos extraer el valor, hay que indicarle que extraiga otro
elemento más. En este ejemplo, el separador dentro del primer elemento es el ==. Observar cómo al
extraer del primer elemento el primer componente obtenemos la x; y al extraer del primer elemento el
segundo componente obtenemos el valor numérico para almacenar en una variable. Esta es la lógica que
hay que seguir al usar la función Part dependiendo el caso que tengamos.
5

También podría gustarte