Você está na página 1de 13

LABORATORIO DE

ELECTRICIDAD Y MAGNETISMO
1
LF321
PRACTICA # 1

FUNDAMENTOS DE MATHEMATICA
Marlon Josue Recarte
Departamento de Fsica
UNAH - Vs
2 PRACTICA_1._LF321.nb

El entorno de trabajo. Distintos tipos de celdas. Evaluacin de celdas de input

Acabas de abrir un cuaderno (notebook) de Mathematica. Arriba tienes la barra de men y a la derecha tienes una "paleta" cuya
utilidad irs aprendiendo en lo que sigue. Lo primero que vas a hacer es maximizar esta ventana para que puedas leer mejor (la
paleta se queda escondida detrs de ella). Observa que este cuaderno est estructurado en celdas. A la derecha de cada celda
vers uno o varios corchetes. El ms interior de ellos delimita la celda en cuestin. Mathematica suele agrupar las celdas en varias
categoras como, por ejemplo, pertenecer a la misma seccin o a la misma subseccin; y es eso precisamente lo que reflejan los
corchetes externos. Hay celdas de distintos tipos. Esta que ests leyendo es una celda de texto y si te fijas bien el corchete que la
delimita tiene una doble barrita arriba. Para escribir en un cuaderno de Mathematica primero tienes que crear una nueva celda lo
que se hace como sigue: situa el ratn fuera de una celda, por ejemplo, en el pequeo espacio que hay entre dos celdas consecuti-
vas y cuando el cursor se convierta en una barra horizontal haz clic con el botn izquierdo del ratn y aparecer una lnea horizon-
tal; seguidamente escribe lo que quieras. Cuando acabes de escribir se habr creado una nueva celda cuyo contenido ser lo que
t has escrito. Escribe ahora tu nombre debajo de esta celda.
Como no le has dicho a Mathematica que solamente queras escribir texto el programa ha creado una nueva celda de entrada
(input cell). Observa que, con el estilo que estamos usando en este cuaderno, las celdas de entrada tienen un aspecto muy
diferente de las celdas de texto. Pon el ratn sobre el corchete interior de la celda que has creado con tu nombre y cuando el cursor
se convierta en una flecha haz clic con el botn izquierdo del ratn. As es como se seleccionan celdas. Ahora, mientras la celda
est seleccionada, pulsa Alt+7 para convertirla en una celda de texto (alternativamente, en la barra de men CellDisplay As
Text).
Las celdas de input son las que se crean por defecto y sirven para introducir datos y funciones y podemos pedirle a Mathematica
que las ejecute y realice los clculos indicados. Para ejecutar una celda de input debes hacer clik con el botn izquierdo del ratn
en algn lugar dentro de la celda. Vers un cursor vertical que aparece y desaparece. Ahora pulsa la tecla "Intro" del teclado
numrico o bien pulsa "maysculas" + "Return" y comprobars que Mathematica ejecuta la celda y te da la respuesta correspondi-
ente en una celda de salida. Ejecuta la siguiente celda.


Sin@xD
x
- x
Observa que el programa ha escrito In[1] y Out[1] para referirse a la entrada y salida correspondientes. De esta forma Mathematica
lleva un control de todo lo que vas haciendo lo que te permite aprovechar los resultados obtenidos para otros clculos posteriores.
Fjate en que el corchete que delimita una celda de entrada tiene un pequeo triangulito en la parte superior. En esta primera
evaluacin Mathematica ha tenido que cargar el ncleo (el kernel), es decir, las reglas e instrucciones internas de clculo del
programa las cuales ya permanecern en la memoria hasta que lo cierres. Por eso esta primera evaluacin es algo ms lenta de lo
normal.
En una misma celda puedes escribir varias instrucciones en lneas distintas (para pasar de una lnea a otra se pulsa "Return") y
Mathematica interpreta cada una de ellas como una entrada diferente. La siguiente celda de input contiene dos entradas y Mathe-
matica producir dos salidas, una para cada entrada.

x - Sin@xD
LimitB , x 0F
x3


1 - Cos@xD
x
- x2
Comprueba que si ahora ejecutas otra celda de entrada no se le asignar In[3] sino In[4].
PRACTICA_1._LF321.nb 3

ExpandBI1 + x + x2 M , xF
7

A veces no interesa que se muestre en pantalla el resultado de una entrada. Por ejemplo si le pides a Mathematica que genere una
lista con todos los nmeros del 1 al 100 no te interesa para nada que se muestre el resultado en pantalla. Ejecuta la siguiente celda.

Range@100D
Para evitar esto basta escribir ";" al final de la entrada. De esta forma Mathematica hace y recuerda los cculos pero no los muestra
en pantalla.

Range@200D;
Aparentemente Mathematica no ha hecho nada. Pero eso no es as. Para referirnos a una salida en Mathematica podemos hacerlo
invocando de forma explcita su identificacin; "Out[p]"se refiere a la salida nmero "p", y tambin con el smbolo "%" el cual se
refiere siempre a la salida inmediata anterior, el smbolo "%%" se refiere a la salida penltima, "%%%" a la salida antepenl-
tima, etctera. Comprobemos que, efectivamente, la ltima salida son los primeros doscientos nmeros.

%
Antes de acabar esta primera seccin, te propongo que selecciones con el ratn el corchete exterior de la derecha y hagas doble
clic. Vers cmo las celdas de esta seccin quedan todas agrupadas en una sola vindose solamente el encabezado de la seccin.
Para abrirlas de nuevo selecciona el corchete con forma de flecha que las agrupa y haz doble clic en l.
4 PRACTICA_1._LF321.nb

Operaciones bsicas con


Mathematica
Puedes realizar operaciones aritmticas con Mathematica igual que con una calculadora manual. Los smbolos para estas opera-
ciones son los usuales ("+", "-", "*", "/", y "^") y se realizan con la precedencia usual: la exponenciacin ("^") precede a la multipli-
cacin ("*") y a la divisin ("/") las cuales tienen igual precedencia y, a su vez, preceden a la suma y a la diferencia que tienen igual

precedencia .
2 + 2 * 2 - 4 2 + 5^2

29
PRACTICA_1._LF321.nb 5

Valores exactos y aproximados

En Mathematica hay dos clases de valores: exactos y aproximados. Valores exactos son los enteros, las fracciones y las representa-
ciones simblicas de constantes como o 2 . De ellos Mathematica sabe calcular tantos dgitos como sea necesario en cualquier
clculo. Los valores aproximados son los nmeros decimales, es decir, nmeros en cuya expresin aparece un punto decimal.
Debes tener siempre presente que Mathematica devuelve los resultados de la misma forma que introduces los datos, es decir,
Mathematica nunca tratar de convertir valores exactos en valores aproximados y si en un clculo intervienen valores exactos y
aproximados el resultado ser un valor aproximado.

4^H1 2L + Log@D
En este caso como la operacin puede realizarse de forma exacta, Mathematica la hace y presenta el resultado exacto obtenido.

3^H1 2L + Log@5D
En este clculo como el resultado no es un nmero exacto pero los datos s lo son, Mathematica trabaja de forma simblica, no
realiza la operacin indicada y devuelve los mismos datos. Observa lo que ocurre si ahora cambiamos el valor exacto "5" por "5."
que es un nmero con punto decimal y por tanto es considerado por Mathematica como un valor aproximado.

3^H1 2L + Log@5.D
6 PRACTICA_1._LF321.nb

Escribir expresiones matemticas en Mathematica

Frecuentemente las expresiones matemticas se pueden escribir de varias formas que solamente se diferencian por su apariencia
7
tipogrfica. Puedes escribir 3^(1/7) o 3 a efectos de clculo son exactamente igual. Las paletas te ayudan a escribir con la
apariencia que prefieras y son muy fciles de usar. En Palettes encontrars varias paletas adems de la bsica (BasicInput) que se
abre al iniciar el programa. Tambin puedes consultar EditExpression Input. Te indico a continuacin otra forma de escribir
algunos smbolos de uso frecuente.

Potencias: usa "


+6". Por ejemplo: a "
+6" b = ab (para salir de la celda "inline" que se crea hay que pulsar
+espacio)

Races: usa "


+2". Por ejemplo: "
+2" a= a (para salir de la celda "inline" que se crea hay que pulsar
+espacio)

Letras griegas: usa


+letra latina equivalente+
.

Por ejemplo:
+p+ = .

La letra E est reservada en Mathematica para el nmero base de los logaritmos naturales. Puedes escribirlo tambin con

+ee+ = .

El nmero puedes escribirlo tambin Pi.


PRACTICA_1._LF321.nb 7

Variables y constantes. El comando de asignacin (=)

Lo que realmente distingue a un programa como Mathematica es su capacidad para trabajar simblicamente; es decir, trabajar con
expresiones algebraicas en las que intervienen smbolos que no tienen un valor numrico concreto. Solemos referirnos a estos
smbolos como variables.

a^H1 2L a^H1 3L
a + 3 b + c^2 + 4 a + 3 c^2
Exp@xD Exp@yD
Para multiplicar nmeros por variables no es preciso dejar un espacio en blanco. Para Mathematica prcticamente cualquier letra o
combinacin de letras puede ser una variable. Hay excepciones que corresponden a algunos smbolos protegidos como los de las
operaciones aritmticas o como la letra E, que siempre indica el nmero base de los logaritmos naturales. Sin embargo, todas las
letras minsculas {x, y, z... a, b, c, d...} y sus combinaciones pueden usarse sin problemas para representar variables. No olvides
que Mathematica distingue entre maysculas y minsculas.
En Mathematica el smbolo de igualdad (=) es la forma usual de escribir el comando "Set[ ]" (lase atribuye o asigna). As
"expr1=expr2" y "Set[expr1,expr2]" son dos formas de decirle a Mathematica que evale inmediatamente expr2 y el resultado de
esta operacin lo asigne en adelante al smbolo expr1. Mathematica interpreta que una expresin "exp" formada por una letra o
una combinacin de letras es una variable si no se le ha asignado ningn valor concreto; cuando a "exp" se le asigna un valor
concreto, el programa reemplazar cada aparicin de "exp" por el valor que le hemos asignado; es decir, tratar "exp" como una
constante. Cuando asignes valores a expresiones es muy conveniente que las expresiones que utilices contengan solamente
letras minsculas. Puedes usar como smbolo para una expresin prcticamente cualquier combinacin de letras y nmeros. Aqu
asigno el valor 5 al smbolo "a" y el valor 7 al smbolo "ab".

a=5
ab = 7
Ahora todas las apariciones de "a" quedan sustituidas por 5 y las de "ab" por 7.

a * ab
Podemos asignar ahora otro valor para "a" y al hacerlo se elimina el valor anterior.

a = 10
a * ab
Podemos preguntarle a Mathematica para saber el significado actual de un smbolo.

? a

? ab
Para quitar el valor asignado a una expresin usamos la orden "Clear[exp]".

Clear@aD H* quita cualquier valor asignado al smbolo a *L


8 PRACTICA_1._LF321.nb

a + ab
PRACTICA_1._LF321.nb 9

Funciones

En la mayora de los lenguajes de programacin para definir una funcin es necesario declarar previamente las variables y el tipo
de variables. En Mathematica es muy fcil definir funciones. No es preciso declarar las variables ni el tipo de variable. Todo lo que
tienes que hacer es definir la funcin de la forma que voy a explicarte. Lo primero que tienes que tener en cuenta es que las
variables de las funciones (que suelen llamarse argumentos de la funcin) van entre corchetes [ ] nunca entre parntesis (
). Los parntesis ( ) solamente se usan para indicar, cuando es necesario, el orden en que debe evaluarse una expresin.
Intentemos ya, sin tomar ms precauciones, definir una funcin.

f@xD = x^2 H* recuerda:


las variables de una funcin van siempre entre corchetes *L
Si lo que acabamos de definir es una funcin debe ser posible calcular su valor para distintos valores de la variable. Veamos si esto
es as.

f@2D
f@yD
f@xD
Ya ves que lo que hemos definido no es una funcin. Lo que hemos hecho ha sido, simplemente, asignar el smbolo f[x] a x^2.
Fjate en que para definir una funcin las variables deben ser independientes de los smbolos con que las representemos. La
funcin que queremos definir es una regla que a "algo" le asigna "algo^2". Pero ese "algo" no puede identificarse con nada concreto
porque unas veces puede ser un nmero y otras veces puede ser una expresin algebraica o de otro tipo. Lo que necesitamos es
proporcionarle a Mathematica un patrn o modelo (pattern en ingls) que pueda ser reemplazado de muy diversas formas. Esto
se hace en Mathematica con el operador "Blank[ ]" que se escribe _ (maysculas+guin).

Clear@fD
fAx_E = x^2 H* Mathematica interpreta esto como f@algoD=algo^2 *L

f@2D
f@yD
f@xD
Mathematica interpreta x_ como un comodn que puede ser reemplazado por cualquier expresin simple.

f@x + y + 2 x * zD
fB x F

La misma regla sirve para definir funciones de ms de una variable. Aqu tienes algunos ejemplos.
10 PRACTICA_1._LF321.nb

gAx_, y_E = x^2 + y^2


H* Mathematica interpreta esto como g@algo,otroalgoD=
algo^2+otroalgo^2 *L
g@1, 2D
g@u + v, s + tD
Clear@f, gD
Para definir una funcin puedes usar la asignacin inmediata como hemos hecho antes y tambin la asignacin diferida. Muchas
veces no tiene mayor importancia cul de las dos uses pero a veces s que la tiene. Observa.

fAx_E = N@x, 30D


H* aproximacin decimal de x con 30 dgitos significativos *L
f@PiD
Est claro lo que ha pasado. Al definir f[x] con la asignacin inmediata se evala enseguida el comando N[x,30] y, como x no es
una cantidad numrica, Mathematica da como respuesta el propio x que es lo que de aqu en adelante Mathematica interpretar
como f["deloquesea"].

Clear@fD
fAx_E := N@x, 30D
f@PiD
Ahora hemos definido f[x] con la asignacin diferida por lo que el comando N[x,30] no se evala hasta que se llama a la funcin.

Como estrategia general es conveniente usar la asignacin diferida para definir funciones pero hay algunos casos importantes (por
ejemplo, para definir derivadas) en los que es preferible usar la asignacin directa.
No olvides que Mathematica distingue entre maysculas y minsculas. Todos los comandos de Mathematica empiezan con una
letra mayscula, por eso una buena estrategia para representar tus propios comandos y funciones es usar letras minsculas. La
orden "Clear["@"]" elimina todas las constantes y funciones que hayamos representado con letras minsculas.
Si queremos eliminar todas las constantes y funciones que hemos definido usaremos Clear["Global`*"] (el acento que hay que
usar es el que est a la derecha de la p).

Clear@"Global`*"D
PRACTICA_1._LF321.nb 11

Algunos comandos para trabajar con funciones elementales

Los siguientes comandos son tiles para trabajar con funciones polinmicas.

poli = Expand@Hx + y^2 + z^3L^10DH* desarrolla la potencia *L


Lo contrario de desarrollar una potencia es agrupar en factores (cuando se puede).

Factor@poliD
Recuerda que el smbolo "%" se refiere a la salida inmediata anterior.

Expand@Hx + y + zL Hx^2 + y^3 + z^4 + 2L H1 + x^2LD

Factor@%D

poli2 = Expand@H1 + x + y * x + x * z^2L^3D


Collect@poli2, xD H* agrupa trminos con igual potencia de x *L

Coefficient@poli2, x^3DH* nos da el coeficiente de x^3 *L

Exponent@poli2, zD
H* nos da el exponente mximo de z, es decir,
el grado de poli2 en la variable z *L
El comando "Simplify[expr]" sirve para simplificar una expresin. Cuando se usa con polinomios trata de presentarlos de la forma
ms sencilla y para ello puede factorizarlos o no.

Simplify@H1 - xL^4 - H1 + xL^3D

Simplify@H1 - xL^4 + H1 + xL^3D


Un comando ms poderoso (y ms lento) que Simplify es "FullSimplify[expr]". A veces el primero no da resultado y el segundo s.

Simplify@2^H1 2L + 3^H1 2L - H5 + 2 * 6^H1 2LL^H1 2LD


H* no hace nada *L

FullSimplify@2^H1 2L + 3^H1 2L - H5 + 2 * 6^H1 2LL^H1 2LD


H* simplifica la expresin *L
Los siguientes comandos son tiles para trabajar con funciones racionales.
12 PRACTICA_1._LF321.nb

FH* proporciona el numerador *L


x^3 + x - 1
NumeratorB
x^2 - 5

FH* proporciona el denominador *L


x^3 + x - 1
DenominatorB
x^2 - 5

F
x^3 + x - 1 x-1
TogetherB +
x^2 - 5 x^2 + 1
H* junta los sumandos en una sola fraccin *L

F
x^3 + x - 1
Hx - 5L Hx^2 + 1L Hx + 2L^2
ApartB

H* descompone en fracciones simples *L

FH* cancela factores comunes *L


x^3 - 1
Hx - 1L Hx^2 + 1L
CancelB

Hx + 1L H1 + x + x^2L
FH* expande numerador y denominador *L
Hx - 5L Hx + 2L
ExpandAllB

Hx + 1L H1 + x + x^2L
FH* expande el numerador *L
Hx - 5L Hx + 2L
ExpandB

Las principales funciones trigonomtricas de Mathematica son Sin[x], Cos[x], Tan[x], ArcSin[x], ArcCos[x], ArcTan[x]. Ya habrs
observado que todos los comandos y funciones de Mathematica empiezan por maysculas. Por eso es conveniente que las
funciones que t definas tengan nombre en letras minsculas. Mathematica conoce las identidades trigonomtricas y puede usarlas
para simplificar expresiones en las que aparezcan dichas funciones. En lugar de Expand[ ] y Factor[ ] se usan los comandos
TrigExpand[ ] y TrigFactor[ ].

TrigExpand@Cos@x + yDD

TrigExpand@Sin@2 ArcTan@tDDD

TrigReduceASin@a * xD * Cos@b * xD2 E


H* convierte productos de funciones trigonomtricas en sumas *L

TrigFactor@%D
La funcin exponencial de base a Ha > 0, a 1L es la funcin que a un nmero x hace corresponder ax . La exponencal de base
se llama exponencial natural.
PRACTICA_1._LF321.nb 13

2^H3.14LH* a^x representa el valor


en x de la funcin exponencial de base a *L
Exp@3.14D H* Exp@xD es la funcin exponencial natural *L
Mathematica conoce la propiedad principal de las exponenciales: la exponencial de una suma es el producto de las exponenciales
de los sumandos. Observa en la celda siguiente el uso del operador boleano "==" para comprobar que dos expresiones simblicas
son iguales.

ax+y == ax * ay
Dado un nmero positivo a > 0, a 1, y un nmero real x > 0, se define el logaritmo en base a de x como el nico nmero real y
tal que ay = x. Los logaritmos en base se llaman logaritmos naturales (o neperianos).

Log@10.D H* Log@xD es el logaritmo natural de x *L


Log@10, 10.D H* Log@a,xD es el logaritmo de x en base a *L

Você também pode gostar