Documentos de Académico
Documentos de Profesional
Documentos de Cultura
MATHEMATICA 5.1
ISBN:
N Registro:
ndice
ndice ...................................................................................................................... 3
1. Funcionamiento de Mathematica ........................................................................ 6
1.1. Interfase de cuaderno ................................................................................ 6
1.2. Interfase basada en texto ........................................................................... 8
2. Clculos numricos ............................................................................................. 9
2.1. Aritmtica ................................................................................................. 9
2.2. Resultados exactos y aproximados ......................................................... 10
2.3. Algunas funciones matemticas .............................................................. 12
2.4. Clculos con precisin arbitraria ............................................................ 14
2.5. Nmeros complejos ................................................................................ 15
2.6. Acostumbrndose a Mathematica ........................................................... 16
2.7. Notaciones matemticas en cuadernos ................................................... 17
3. Generacin de clculos ..................................................................................... 19
3.1. Uso de resultados previos ....................................................................... 20
3.2. Definicin de variables ........................................................................... 20
3.3. Construccin de listas ............................................................................. 22
3.4. Manipulacin de los elementos de una lista ........................................... 23
3.5. Las cuatro formas de agrupar en Mathematica ....................................... 25
3.6. Secuencias de operaciones ...................................................................... 25
4. Uso del sistema Mathematica ........................................................................... 26
4.1. La estructura de Mathematica ................................................................ 26
4.2. Cuadernos como documentos ................................................................. 29
4.3. Elementos activos en cuadernos ............................................................. 32
4.4. Hipervnculos y texto activo ................................................................... 35
4.5. Acceso a la ayuda en una interfase de cuaderno ..................................... 36
4.6. Acceso a la ayuda en una interfase basada en texto ................................ 37
4.7. Paquetes en Mathematica ....................................................................... 39
4.8. Advertencias y mensajes ........................................................................ 40
4.9. Interrupcin de clculos .......................................................................... 41
5. Clculos algebraicos ......................................................................................... 42
5.1. Clculo simblico ................................................................................... 42
5.2. Valores para smbolos ............................................................................ 44
5.3. Transformacin de expresiones algebraicas ........................................... 48
5.4. Simplificacin de expresiones algebraicas ............................................. 49
5.5. Puesta de expresiones en diferentes formas ............................................ 51
5.6. Simplificacin con asunciones ............................................................... 55
5.7. Seleccionar partes de expresiones algebraicas ........................................ 56
5.8. Controlar la presentacin de expresiones grandes .................................. 58
2
1. Funcionamiento de Mathematica
Para saber cmo se instala y funciona Mathematica debe leer la documentacin
que vino con su copia de Mathematica. Los detalles difieren a partir de un sistema
informtico a otro, y son afectados por las varias clases de arreglo para requisitos
particulares que se pueden hacer en Mathematica. Sin embargo, esta seccin
delinea dos casos comunes.
Observe que aunque los detalles de funcionamiento de Mathematica difieren a
partir de un sistema informtico a otro, la estructura de los clculos de
Mathematica es igual en todos los casos. El usuario digita la entrada (input),
Mathematica la procesa, y devuelve un resultado.
Con una interfase basada en texto, usted interacta con su computadora digitando
texto en el teclado.
Para inicializar Mathematica con una interfase basada en texto, se digita el
comando math en el prompt del sistema operativo. En algunos sistemas, tambin
es posible inicializar Mathematica con una interfase basada en texto haciendo
doble clic en el icono del ncleo de Mathematica.
Cuando Mathematica ha inicializado, imprimir el prompt In[1]:=, esto
significa que esta lista para que usted haga su entrada. Puede entonces digitar su
entrada, terminndola con <Enter>.
Mathematica procesa la entrada, y genera un resultado, el mismo que etiquetar
con Out[1]=.
A lo largo de este libro los dilogos con Mathematica se mostrarn de la
siguiente manera:
La computadora imprime In[1]:=. Usted slo digita 1+1. La lnea que
empieza con Out[1]= es el resultado de Mathematica.
1 + 1
2
Observe que usted no digita explcitamente el prompt In[1]:=; slo digita el
texto que sigue despus de este aviso.
Observe tambin que la mayor parte de los dilogos dados en el libro muestran
salidas en la forma que usted obtendra con una interfase de cuaderno de
Mathematica; la salida con una interfase basada en texto luce similar, pero carece
de caractersticas tales como caracteres especiales y cambio de tamao de fuente.
2. Clculos numricos
2.1. Aritmtica
Usted puede hacer aritmtica con Mathematica tal y como lo hara con una
calculadora.
Aqu tenemos la suma de dos nmeros.
5.6 + 3.7
9.3
Con * indicamos el producto de dos nmeros.
5.6 * 3.7
20.72
Con el espacio en blanco tambin se indica el producto de dos nmeros.
5.6 3.7
20.72
Usted puede digitar operaciones aritmticas haciendo uso de los parntesis.
(2 + 3) ^ 3 4 (6 + 7)
73
Los espacios no son necesarios, aunque a menudo hacen su entrada ms
fcil de leer.
(2+3)^34(6+7)
73
x^y
x
x/y
x y z o x*y*z
x+y+z
potencia
menos
divisin
producto
suma
300
2^300
203703597633448608626844568840937816105146839366593
6250636140449354381299763336706183397376
Usted puede pedir a Mathematica que devuelva un resultado aproximado, tal como
lo dara una calculadora, para ello debe finalizar su entrada con //N.
Esto da un resultado numrico aproximado.
2^300//N
2.037041090
Cuando usted digita un entero como 7, Mathematica asume que es exacto. Si usted
digita un nmero como 4.5, con un punto decimal explcito, Mathematica asume
que desea efectuar clculo numricos aproximados.
Esto es tomado como un nmero racional exacto, y es llevado a una fraccin
irreducible.
26/78
1
3
Cuando usted digita un nmero con un punto decimal explcito,
Mathematica produce un resultado numrico aproximado.
26.7/78
0.342308
Aqu otra vez, la presencia del punto decimal hace que Mathematica d un
resultado numrico aproximado.
26./78
0.333333
Cuando cualquier nmero en una expresin aritmtica es digitado con un
punto decimal explcito, usted obtiene un resultado numrico aproximado
para toda la expresin.
5. + 9 / 78 - 5/8
4.49038
10
Exp[x] exponencial ( e )
Log[x] logaritmo natural ( log e x )
Log[b, x] logaritmo en base b ( log b x )
Sin[x], Cos[x], Tan[x], funciones trigonomtricas (con argumentos
Cot[x], Sec[x], Csc[x] en radianes)
ArcSin[x], ArcCos[x], funciones trigonomtricas inversas
ArcTan[x], ArcCot[x],
ArcSec[x], ArcCsc[x]
n! factorial de n (producto de los enteros 1, 2,
..., n)
Abs[x] valor absoluto
Round[x] redondeo del entero x
Mod[n, m] n mdulo m (resto de la divisin de n entre
m)
Random[ ] nmero seudo aleatorio entre 0 y 1
Max[x, y, ...], Min[x, y, ...] mximo, mnimo de x, y, ...
FactorInteger[n] factores primos de n
Algunas de las funciones matemticas ms comunes.
Log[15.7]
2.75366
Esto devuelve
Sqrt[64]
8
Esto da un valor numrico aproximado para
6.
Sqrt[6]//N
2.44949
La presencia explcita de un punto decimal le indica a Mathematica que d
un resultado numrico aproximado.
Sqrt[6.]
2.44949
En este caso Mathematica devuelve un nmero en forma simblica exacta.
Sqrt[6]
6
Aqu tenemos un resultado entero exacto para 3029 ... 1. Usted puede
digitar nmeros grandes para calcular factoriales. Por ejemplo, puede
calcular 2000! en corto tiempo.
40!
815915283247897734345611269596115894272000000000
Esto da un valor numrico aproximado del factorial.
40!//N
8.159151047
Pi 3.14159
E e 2.71828 (normalmente aparece como )
Degree /180: factor de conversin de grados a
radianes (normalmente aparece como )
I i = 1 (normalmente aparece como )
Infinity
Algunas constantes matemticas comunes.
12
13
7 con 40 dgitos.
N[Sqrt[7], 40]
2.645751311064590590501615753639260425710
Al realizar cualquier tipo de clculo numrico puede introducir pequeos errores
de redondeo en sus resultados. Cuando se aumenta la precisin numrica estos
errores se hacen ms pequeos. Asegurarse que usted obtiene la misma respuesta al
aumentar la precisin numrica es a menudo una buena forma de verificar los
resultados.
163
1 .
16
Haciendo clic en el primer botn una estructura en blanco par ingresar una
potencia. Usted puede usar el mouse para rellenar esta estructura o
desplazarse en ella con la tecla <Tab>.
Tambin puede hacer ingresos como los anteriores mediante teclas especiales de su
teclado.
el smbolo
el smbolo
el smbolo para constante exponencial
(equivalente a E)
el smbolo para 1 (equivalente a I)
el smbolo (equivalente a Degree)
lleva al exponente de una potencia
lleva al denominador de una fraccin
lleva al subradical de una raz cuadrada
regresa de un exponente, denominador o raz
cuadrada
Algunas maneras de ingresar notaciones especiales.
4.01711
Esta es una secuencia de las teclas que puede usarse para ingresar la entrada
anterior.
4.01711
En un lenguaje de programacin tradicional tal como C, FORTRAN, Java o Perl, la
entrada que usted da siempre debe consistir de una cadena de caracteres ordinarios
que se puedan digitar directamente del teclado. Pero el lenguaje de Mathematica
tambin le permite dar entradas que contienen caracteres especiales, exponentes,
fracciones, etctera.
El lenguaje incorpora muchas caractersticas de la notacin matemtica tradicional.
Pero debe comprender que el objetivo del lenguaje es proporcionar una forma
exacta y constante de especificar clculos. Y por consiguiente, no sigue todos los
detalles de la notacin matemtica tradicional.
Sin embargo, es posible conseguir que Mathematica produzca salidas que imitan
cada aspecto de notacin tradicional matemtica. Y es tambin posible para
Mathematica importar texto que usa tal notacin, y en cierta medida traducirlo en
su propio lenguaje.
3. Clculos
3.1. Uso de resultados previos
Al realizar clculos, muchas veces usted necesita usar resultados previamente
obtenidos. En Mathematica, % siempre hace referencia al ltimo resultado.
%
%%
%%...% (k veces)
%n
18
Es muy importante recordar que los valores asignados a las variables son
permanentes. Una vez que usted ha asignado un valor a una variable en particular,
el valor ser almacenado hasta que usted lo remueva explcitamente. El valor, claro
est, desaparecer si usted inicia una nueva sesin con Mathematica.
Olvidarse de las definiciones hechas es la causa ms comn de errores al usar
Mathematica. Si usted pusiera x = 5, Mathematica asume que usted siempre
quiere que x tenga el valor 5, hasta o a menos que usted e indique explcitamente
otra cosa. Para evitar los errores, usted debe quitar los valores definidos en cuanto
haya terminado de usarlos.
Quite valores que asigne a las variables en cuanto termine de usarlos.
Un principio til al usar Mathematica.
20
Las variables que usted define pueden tener cualquier nombre. No hay lmite par
longitud de sus nombres. Un inconveniente, sin embargo, es que los nombres de las
variables nunca pueden empezar con nmeros. Por ejemplo, x3 puede ser una
variable, pero 2x significa 2*x.
Mathematica usa letras minsculas y maysculas. Hay una convencin para los
objetos incorporados en Mathematica, los nombres de todos ellos empiezan con
letra mayscula. Para evitar alguna confusin, usted siempre debe escoger nombres
que empiecen con letra minscula.
aaaaa una variable cuyo nombre contiene slo
letras minsculas
Aaaaa una variable cuyo nombre empieza con una
letra mayscula (aplicable por lo general a
objetos incorporados en Mathematica)
Convenciones para nombrar variables.
21
//N
{665.142, 54.5982, 109.947}
Esto asigna una lista en la variable u.
u = {5, 3, 8.2}
{5, 3, 8.2}
Esto asigna una lista en la variable u.
(u + 1)/(u - 6)
{-6,
43 ,
4.18182}
22
23
Cuando la expresin que usted digita es complicada, a veces es una buena idea
ingresar un espacio en blanco para conjunto de agrupaciones. Esto hace que sea
relativamente fcil ubicar pares de agrupaciones. u[[ {a, b} ]] permite, por
ejemplo, fcilmente reconocer a u[[{a, b}]].
Inhibiendo la salida.
25
documentos interactivos
texto desde el teclado
comunicacin con otro programas
26
En algunos casos, puede que usted no necesite usar la interfase de cuaderno, y que
desee en cambio interactuar directamente con el ncleo de Mathematica. Usted
puede hacer esto usando la Interfase basada en texto, en la cual usted digita el texto
en el teclado y ste va directamente al ncleo.
Un dilogo con Mathematica usando interfase basada en texto.
27
Un grupo de celdas puede estar abierto o cerrado. Cuando est abierto usted puede
ver todas sus celdas explcitamente. Pero cuando est cerrado, usted slo puede ver
la celda que encabeza el grupo de celdas.
Los cuadernos extensos son a menudo distribuidos con muchos grupos de celdas
cerradas, para que cuando usted vea por primera vez el cuaderno aprecie solamente
una lista de su contenido. Usted puede abrir las partes en las que est interesado
haciendo doble clic sobre el corchete apropiado.
28
29
Poniendo una celda en un estilo en particular, usted especifica una coleccin entera
de propiedades para celda, incluyendo por ejemplo el tamao y la fuente del texto
que se digitar.
La interfase de Mathematica permite modificar tales propiedades, bien sea para las
celdas completas o para material especfico dentro de las celdas.
Incluso dentro de una celda con un estilo en particular, la interfase de
Mathematica permite modificar una amplia gama de propiedades en forma
separada.
Vale mencionar que al hacer diversas clases de cosas con los cuadernos de
Mathematica, usted est utilizando diversas partes del sistema de Mathematica.
Las operaciones tales como apertura y cierre de grupos de celdas, realizacin de
animaciones y reproduccin de sonidos utilizan solamente una parte pequea del
front end de Mathematica, y estas operaciones tranquilamente se pueden realizar
con un programa fcilmente disponible conocido como MathReader.
30
Para poder crear y corregir los cuadernos, usted necesita ms que el front end de
Mathematica. Y finalmente, para poder actualizar los clculos dentro de un
cuaderno de Mathematica, necesita un sistema completo de Mathematica, que
contenga el front end y el ncleo.
MathReader
front end de Mathematica
ncleo de Mathematica
Ms adelante en este libro, discutiremos cmo usted puede crear botones y otros
objetos similares en los cuadernos de Mathematica. Por ahora es suficiente decir
que siempre que una celda se indique como activa, al hacer clic en los elementos
activos dentro ella se producir las acciones que han sido programadas para que
estos elementos realicen.
Es comn inicializar paletas que consisten en una serie de botones. A veces tales
paletas aparecen como celdas dentro de un cuaderno. Aunque a menudo, se usa un
cuaderno especial que aparece como ventana, que se puede poner
convenientemente en algn lado de la pantalla de su computadora y utilizar
conjuntamente con cualquier otro cuaderno.
31
Las paletas que consisten en una serie de botones a menudo son colocadas
en cuadernos separados.
En los casos ms simples, los botones en las paletas sirven como teclas adicionales
a su teclado. As, cuando usted presiona un botn, el carcter o el objeto mostrado
en aquel botn es insertado en su cuaderno tal como si usted lo hubiera escrito a
mquina.
Aqu est una paleta de letras griegas con botones que actan como teclas
adicionales a su teclado.
32
33
Los hipervnculos en cuadernos trabajan bastante bien como los botones discutidos
en la seccin anterior. Y de nuevo, todos los aspectos de hipervnculos son
programables.
De hecho, es posible crear texto activo en cuadernos que permita realizar casi
cualquier tipo de accin.
34
35
los objetos con nombres similares. As pues, por ejemplo ?Lo* brinda informacin
sobre todos los objetos cuyos nombres contengan las letras Lo, seguidas por
cualquier cadena de caracteres.
Esto da informacin sobre todos los objetos de Mathematica cuyos nombres
comiencen con Lo. Cuando hay ms de un objeto, Mathematica enumera
sus nombres como hipervnculos y haciendo clic sobre ellos es posible
obtener informacin.
Usted puede poner * en cualquier lugar de la cadena que ingresa iniciada con ?.
Por ejemplo, ?*Expand le dara todos los objetos cuyos nombres terminan en
Expand. De manera similar ?P*d le dara los objetos cuyos nombres comienzan
con P, terminan con d, y tienen cualquier cadena de caracteres intermedios. (Note
que la manera en que se utiliza * para especificar nombres en Mathematica es
similar a la manera que se utiliza * en Unix y otros sistemas operativos para
especificar nombres del archivos.)
37
Si usted quiere usar las funciones de un paquete en particular, primero debe leer el
paquete en Mathematica. Los detalles de como hacer esto se discuten en la seccin
12. Hay varias convenciones que gobiernan los nombres que usted usar para
referirse a los paquetes.
Este comando lee un paquete en particular de Mathematica.
<<LinearAlgebra`Orthogonalization`
38
Hay varias sutilezas asociadas a estas cosas como los conflictos entre los nombres
de las funciones en los diferentes paquetes. Un punto importante que no debe
olvidar es que usted no debe referirse a una funcin que leer desde un paquete
antes de leerla realmente en el paquete. Si usted hace esto por equivocacin, deber
ejecutar el comando Remove[name] para librarse de la definicin de la funcin
que usted hizo antes de leer el paquete. Si usted no usa Remove, Mathematica
usar su versin de la funcin, en lugar de la del paquete.
Remove[name]
El hecho de que Mathematica pueda extenderse usando paquetes significa que las
partes de Mathematica son ilimitadas. En lo que al uso concierne, no hay en
realidad ninguna diferencia entre las funciones definidas en paquetes y las
funciones incorporadas en Mathematica.
De hecho, un nmero determinado de las funciones descritas en este libro se
ejecutan como paquetes de Mathematica. Sin embargo, en la mayora de los
sistemas de Mathematica, se han cargado los paquetes necesarios, de modo que las
funciones que ellos definen estn siempre presentes.
Usted puede utilizar el Help Browser para obtener informacin sobre los paquetes
estndares de Mathematica. Para ello seleccione la tarjeta Add-ons & Links del
mismo.
39
Sqrt[4, 5]
Cada mensaje tiene un nombre. Usted puede apagar mensajes usando Off.
Off[Sqrt::argx]
El mensaje Sqrt::argx ahora se ha apagado, y no volver a aparecer.
Off[Sqrt::argx]
Esto vuelve a encender Sqrt::argx otra vez.
On[Sqrt::argx]
Off[Funcin::etiqueta]
On[Funcin::etiqueta]
interfase de cuaderno
interfase basada en texto
continue
show
inspect
abort
exit
continuar el clculo
mostrar que est haciendo Mathematica
examinar el estado actual de su clculo
abortar este clculo en particular
salir de Mathematica completamente
5. Clculos algebraicos
5.1. Clculo simblico
Una de las caractersticas importantes de Mathematica es que puede hacer clculos
simblicos y numricos. Esto significa que puede manejar frmulas algebraicas as
como nmeros.
He aqu un tpico clculo numrico.
4 + 36 - 1
39
Este es un clculo simblico.
7 x 3 x + 6
6 + 4x
Clculo numrico
Clculo simblico
4 + 36 - 1 39
7x - 3x + 6 6 + 4x
41
42
caracteres, sin espacio entre ellos. Puede interpretar x->3 como una regla en la
cual x ser sustituido por 3.
Para aplicar una regla de transformacin a una expresin particular de
Mathematica, usted digita expr/.regla. El operador de reemplazo /. se
digita como un par de caracteres, sin espacio entre ellos.
Esto utiliza la regla de transformacin x->3 en la expresin 1 + 2 x .
1 + 2x /. x -> 3
7
Usted puede sustituir x por cualquier expresin. Aqu cada ocurrencia de x
es sustituida por 2 - y .
1 + x + x^2 /. x -> 2 - y
3 + (2 - y)2 - y
He aqu una regla de transformacin. Mathematica la trata como cualquier
otra expresin simblica.
x -> 3 + y
x 3 + y
Esto aplica la regla de transformacin ltima a la expresin x ^ 2 - 9 .
x^2 - 9 /. %
- 9 + (3 + y)2
expr /. x -> valor
expr /. {x -> xval, y -> yval}
Usted puede aplicar reglas juntas poniendo las reglas en una lista.
(x + y) (x - y)^2 /. {x -> 3, y -> 1 - a}
(4 - a) (2 + a)2
El operador de reemplazo /. le permite aplicar reglas de la transformacin a una
expresin particular. A veces, sin embargo, usted querr definir reglas de
transformacin que se apliquen siempre. Por ejemplo, puede ser que desee sustituir
x por 3 siempre que aparezca x.
44
Segn lo discutido en la seccin 3.2, usted puede hacer esto asignando el valor 3 a
x usando x = 3 . Una vez que haya hecho la asignacin x = 3 , x siempre ser
sustituido siempre por 3, cuando aparezca.
Esto asigna el valor de 3 a x.
x = 3
3
Ahora x ser sustituido automticamente por 3 dondequiera que aparezca.
x^2 - 1
8
Esto asigna la expresin 1 + a a x.
x = 1 + a
1 + a
Ahora x es reemplazado por 1 + a .
x^2 - 1
-1 + (1 + a)2
Usted puede definir como valor de un smbolo a cualquier expresin, no solamente
a un nmero. Recuerde que una vez que haya dado tal definicin, sta continuar
siendo utilizada siempre que aparezca el smbolo, hasta que la cambie o quite
explcitamente. Para la mayora de usuarios, el olvidarse quitar valores que han
asignado a los smbolos es la causa ms comn de errores al usar Mathematica.
x = valor
x=.
Ahora x no tiene ningn valor definido, as que puede ser utilizado como
variable puramente simblica.
x + 5 - 2x
5 - x
Los lenguajes de programacin tradicionales que no soportan el clculo simblico
permiten que las variables sean utilizadas solamente como nombres para objetos,
tpicamente nmeros, que se han asignado como valores para ellos. En
Mathematica, sin embargo, x se puede tambin tratar como variable puramente
formal, a la cual se le puede aplicar varias reglas de transformacin. Por supuesto,
si usted da explcitamente una definicin, por ejemplo x = 3 , entonces x ser
sustituida siempre por 3, y no sirve ms como variable formal.
Debe recordar que las definiciones explcitas por ejemplo x = 3 tienen un efecto
global. Por otra parte, un reemplazo tal como exp / . x - > 3 afecta solamente a la
expresin especfica expr.
Puede mezclar siempre reemplazos con asignaciones. Con asignaciones, puede dar
nombres a las expresiones en las cuales desea hacer reemplazos, o a las reglas que
usted desea utilizar para hacer los reemplazos.
Esto asigna un valor al smbolo t.
t = 1 + x^2
1 + x2
Esto encuentra el valor de t, y despus sustituye x por 2 en l.
t /. x -> 2
5
Esto encuentra el valor de t para un valor diferente de x.
t /. x -> 5a
1 + 25 a2
Esto encuentra el valor de t cuando x es sustituido por Pi, y luego evala
el resultado numricamente.
t /. x -> Pi //N
10.8696
46
Expand[expr]
Factor[expr]
47
48
He aqu una expresin racional que puede ser escrita en varias formas
diferentes.
e = (x - 1)^2 (2 + x) / ((1 + x) (x - 3)^2)
50
52
{Sqrt[4^2], Sqrt[(-4)^2]}
{4, 4}
Esto le dice a Simplify que haga la asuncin x>0, de modo que la
simplificacin pueda proceder.
Simplify[Sqrt[x^2], x > 0]
x
Ninguna simplificacin automtica se puede hacer en esta expresin.
2 a + 2 Sqrt[a - Sqrt[-b]] Sqrt[a + Sqrt[-b]]
Element[x,dom]
Element[{x1,x2,...},dom]
Reals
Integers
Primes
Esto simplifica
Simplify[Sqrt[x^2],
Element[x, Reals]]
Abs[x]
Esto simplifica el seno asumiendo que n es un entero.
Simplify[Sin[x + 2 n Pi],
Element[n, Integers]]
Sin[x]
Con las asunciones dadas, puede ser utilizado el Pequeo Teorema de
Fermat.
Simplify[Mod[a^p, p], Element[a, Integers] &&
Element[p, Primes]]
Mod[a,p]
Esto utiliza el hecho de que sin(x) , pero no arcsin(x ) , es real cuando x es
real.
Simplify[Re[{Sin[x], ArcSin[x]}],
Element[x, Reals]]
{Sin[x],Re[ArcSin[x]]}
55
Esto da el coeficiente de x en e.
Coefficient[e, x]
Numerator[expr]
Denominator[expr]
numerador de expr
denominador de expr
56
57
Hay de hecho un paquete estndar de Mathematica que le permite para trabajar con
unidades. El paquete define muchos smbolos que representan los tipos estndar de
unidades
Cargue el paquete de Mathematica para manejar unidades.
<<Miscellaneous`Units`
EL paquete usa nombres estandarizados para unidades.
12 Meter/Second
Por lo general usted tiene que dar los prefijos para unidades como palabras
separadas.
Convert[ 3 Kilo Meter / Hour, Inch / Minute ]
61
6. Matemticas simblicas
6.1. Operaciones bsicas
La capacidad de Mathematica de tratar con expresiones simblicas, as como
nmeros, le permite usarlo para muchas clases de matemticas.
El clculo es un ejemplo. Con Mathematica, usted puede diferenciar una expresin
simblicamente, y conseguir una frmula para el resultado.
Esto encuentra la derivada de x n .
D[ x^n, x ]
D[f,x]
la derivada (parcial)
f
x
Integrate[f,x]
la integral indefinida
fdx
Sum[f,{i,imin,imax}]
la suma
i=i
imax
min
Limit[f,x->x0]
Minimize[f,x]
Solve[lhs==rhs,x]
Series[f,{x,x0,orden}]
x x0
6.2. Diferenciacin
He aqu la derivada x n con respecto a x .
D[ x^n, x ]
63
D[f,x]
D[f,x1,x2,...]
D[f,{x,n}]
Dt[f]
Dt[f,x]
f
x
derivada mltiple
Kf
x1 x 2
derivada parcial
derivada repetida
n f
x n
diferencial total d f
d
derivada total
f
dx
6.3. Integracin
He aqu la integral
dx en Mathematica.
Integrate[x^n, x]
64
Mathematica sabe resolver casi cualquier integral que puede ser expresada en
trminos de funciones matemticas estndares. Pero debe comprender que aun
cuando un integrando pueda contener slo funciones simples, su integral puede
implicar funciones mucho ms complicadaso no puede ser expresable en absoluto
en trminos de funciones matemticas estndares.
He aqu una integral simple.
Integrate[Log[1 - x^2], x ]
65
la integral indefinida
Integrate[f,x]
f dx
dx dy f
x
la integral definida
f dx
x
la integral mltiple
Integrate[f,x,y]
max
Integrate[f,{x,xmin,xmax}]
min
la integral mltiple
Integrate[f,{x,xmin,xmax},
{y,ymin,ymax}]
xmax
dx
min
ymax
dy f
min
Integracin.
a sin
( x) dx .
Integrate[Sin[x]^2, {x, a, b} ]
0 0 dy ( x
dx
+ y 2 ) . El rango de la variable
66
xi
i =1
imax
Sum[f,{i,imin,imax}]
la suma
i =imin
Sum[f,{i, imin,imax,di}]
Sum[f,{i,imin,imax},
{j,jmin,jmax}]
la suma anidada
jmax
i =imin j = jmin
imax
Product[f,{i,imin,imax}]
el producto
i =imin
Sumas y productos.
67
Mathematica tambin puede dar un resultado exacto para esta suma infinita.
Sum[1/i^4, {i, 1, Infinity}]
i=i j= j
imax
min
jmax
f . Note que en la
min
6.5. Ecuaciones
En la seccin 3.2 se discuti asignaciones tales como x = y que asigna a x el valor
de y. Esta seccin habla de ecuaciones, que prueban una igualdad. La ecuacin
x == y , prueba si x es igual a y.
Esto prueba si 2 + 2 y 4 son iguales. El resultado es el smbolo True.
2 + 2 == 4
True
Es muy importante que usted no confunda x = y con x == y . Mientras que x = y
es una declaracin imperativa que en realidad origina una asignacin, x == y
simplemente prueba si x y y son iguales, y no causa ninguna accin explcita.
x=y
x==y
asigna el valor de y a x
prueba si x e y son iguales
Asignaciones y pruebas.
Operadores relacionales.
71
Operadores lgicos.
72
Usted debe recordar que las operaciones lgicas ==, && y || tienen todas doble
caracter en Mathematica. Si ha usado un lenguaje de programacin como C, estar
familiarizado con esta notacin.
Mathematica no sabe si esto es verdadero o falso.
p && q
p && q
Mathematica deja esta expresin inalterada.
(p || q) && !(r || s)
(p || q) &&! (r || s)
Puede usar LogicalExpand para expandir los trminos.
LogicalExpand[ % ]
(p && !r && !s) || (q && !r && !s)
Usted puede obtener una lista de las soluciones actuales para x aplicando las
reglas generadas por Solve a x mediante el operador de reemplazo.
x /. %
73
Solve[lhs==rhs,x]
x/.solucin
expr/.solucin
74
Es importante comprender que una ecuacin tal como sin( x) = a en realidad tiene
un nmero infinito de soluciones posibles, en este caso que se diferencian por
mltiplos de 2 . Sin embargo, Solve por defecto da slo una solucin, pero
imprime un mensaje que le dice que pueden existir otras soluciones. Usted puede
usar Reduce para obtener ms informacin.
No hay ninguna solucin explcita para una ecuacin trascendental como
esta.
Solve[ Cos[x] == x, x ]
75
Solve[{lhs1==rhs1,
lhs2==rhs2, ...},{x,y, ...}]
76
77
Solve[lhs==rhs,x]
Solve[{lhs1==rhs1,
lhs2==rhs2, ...},{x,y, ...}]
Eliminate[{lhs1==rhs1,
lhs2==rhs2, ...},{x, ...}]
Reduce[{lhs1==rhs1,
lhs2==rhs2, ...},{x,y, ...}]
78
6.8. Desigualdades
Reduce[ineqs, {x, y, ...}]
FindInstance[ineqs,
{x, y, ...}]
Manejo de desigualdades.
79
Las ecuaciones a menudo pueden ser solucionadas para dar valores definidos de las
variables. Pero las desigualdades solamente definen regiones que pueden ser
especificadas por otras desigualdades. Usted puede usar FindInstance para
encontrar valores definidos de las variables que satisfacen un conjunto particular
de desigualdades.
Esto encuentra un punto en la regin especificada por las desigualdades.
FindInstance[x + y < 1 && y^2 > x > 0, {x, y}]
Minimize[{expr,ineq},
{x, y, ...}]
Maximize[{expr,ineq},
{x, y, ...}]
80
Cuando usted le pide a DSolve que encuentre una solucin para y[x], las reglas
que devuelve especifican como sustituir y[x] en cualquier expresin. Sin
embargo, estas reglas no especifican como sustituir objetos como y'[x]. Si usted
quiere manipular soluciones obtenidas con DSolve, a menudo encontrar mejor
pedir soluciones para y, antes que para y[x].
Esto da la solucin para y como una funcin pura.
DSolve[ y'[x] == x + y[x], y, x ]
Usted puede ahora usar al operador de reemplazo para aplicar esta solucin
a expresiones que involucran a y.
y''[x] + y[x] /. %
Note que DSolve puede manejar combinaciones de ecuaciones diferenciales
algebraicas. Tambin puede manejar ecuaciones diferenciales parciales, en las
cuales hay ms de una variable independiente.
82
Las series de potencias son frmulas aproximadas que juegan el mismo papel con
respecto a las expresiones algebraicas como los nmeros aproximados con las
expresiones numricas. Mathematica le permite realizar operaciones en series
potencias, en todos los casos mantiene el orden apropiado o el grado de precisin
para las series de potencias resultantes.
He aqu una serie de potencias simple, de orden 3.
Series[Exp[x], {x, 0, 3}]
83
Normal[series]
6.11. Lmites
He aqu la expresin sin( x) / x .
t = Sin[x]/x
Indeterminate
Si encuentra el valor numrico de sin( x) / x para un x prximo a 0, usted
consigue un resultado prximo a 1.
t /. x->0.01
0.999983
84
Lmites.
Transformadas de Laplace.
FourierTransform[expr,
t, w]
InverseFourier
Transform[expr, t, w]
Transformadas de Fourier.
85
Anlisis vectorial
<<Calculus`VectorAnal
ysis`
SetCoordinates[
system[names]]
Grad[f]
Div[f]
Curl[f]
Laplacian[f]
Anlisis vectorial.
87
Mtodos variacionales
<<Calculus`Variationa
lMethods`
VariationalD[f, y[x], x]
Mtodos variacionales.
Cuaterniones
<<Algebra`Quaternions` carga el paquete de cuaterniones
Quaternion[a, b, c, d] el cuaternin a + bi + cj + dk
Cuaterniones.
88
Indeterminate
Esta construccin trata ambos casos, pero sera poco utilizable.
If[x != 0, 0, Indeterminate]
Si Mathematica no sustituyera automticamente 0 / x por 0, entonces pocos
clculos simblicos seran posibles. Pero debe comprender que la necesidad
prctica de hacer tales reemplazos puede hacer que se obtengan resultados
absurdos cuando se usan valores especficos de los parmetros.
89
Las operaciones bsicas de Mathematica sin embargo son instaladas con cuidado
de modo que siempre sea posible que los resultados obtenidos sean vlidos para
casi todos los valores de cada variable.
x 2 no es automticamente reemplazada por x.
Sqrt[x^2]
suma
Product[f,{i,imin,imax}]
producto
Integrate[f, x]
Integrate[f,{x,xmin,
xmax}]
D[f, x]
D[f, x, y]
integral indefinida
integral definida
derivada parcial
derivada parcial mltiple
90
signo de sumatoria
signo de producto
signo de integral
diferencial especial para uso en integrales
derivada parcial
mueve a la posicin de subndice o lmite
inferior de un integral
mueve a la posicin de superndice o lmite
superior de un integral
mueve a la posicin subescritura o lmite
inferior de una suma o producto
mueve a la posicin de sobreescritura o
lmite superior de una suma o producto
cambia entre posiciones superiores e
inferiores
retorna de posiciones superiores o inferiores
Formas de ingresar notaciones especiales en un teclado estndar de lenguaje Ingls.
91
Aqu est la secuencia real clave que usted escribe para conseguir la entrada.
7. Matemticas numricas
7.1. Operaciones bsicas
Los resultados exactos simblicos son por lo general muy deseados cuando pueden
ser obtenidos. En muchos clculos, sin embargo, no es posible conseguir resultados
simblicos. En tales casos, usted debe recurrir a mtodos numricos.
N[expr]
NIntegrate[f,{x, xmin,
xmax}]
NSum[f,{i, imin,
Infinity}]
FindRoot[lhs==rhs,
{x, x0}]
NSolve[lhs==rhs, x]
FindMinimum[f,{x, x0}]
NMinimize[f, x]
xmax
f dx
min
min
NProduct[f,{i, imin,
Infinity}]
NIntegrate[f,{x, xmin,
xmax}]
NIntegrate[f,{x, xmin,
xmax},{y, ymin, ymax}]
la integral mltiple
min
xmax
min
f dx
min
xmax
min
dx
ymax
dy f
min
93
i=1 i 3 .
94
95
96
minimiza f
maximiza f
minimiza f sujeto a las restricciones ineqs
maximiza f sujeto a las restricciones ineqs
97
FindMinimum[f,{x, x0}]
FindMinimum[f,{{x, x0},
{y, y0}, ...}]
FindMaximum[f,{x, x0}]
FindMaximum[f,{{x, x0},
{y, y0}, ...}]
98
99
FindFit[data, form,
{p1, p2, ...}, x]
Transformadas de Fourier.
7.7. Estadstica
Mean[data]
Median[data]
Variance[data]
StandardDevia
tion[data]
Quantile[data, q]
Total[data]
He aqu la varianza.
Variance[data]
El conjunto de paquetes estndares distribuidos con Mathematica incluyen varios
comandos para hacer anlisis estadsticos de datos ms sofisticados.
Statistics`Descripti
veStatistics`
Statistics`Multiva
riateDescripti
veStatistics`
Statistics`Conti
nuousDistributions`
Statistics`Discre
teDistributions`
Statistics`Hypo
thesisTests`
Statistics`Confi
denceIntervals`
Statistics`Multi
normalDistribution`
Statistics`Li
nearRegression`
Statistics`Non
linearFit`
Statistics`Data
Smoothing`
Statistics`Data
Manipulation`
8. Funciones y programas
8.1. Definicin de funciones
En esta parte del libro, hemos visto muchos ejemplos de funciones que son
construidas en Mathematica. En esta seccin, mostramos como usted puede aadir
sus propias funciones simples a Mathematica. La parte 2 describir en mayor
detalle los mecanismos para aadir funciones a Mathematica.
Como un primer ejemplo, piense aadir una funcin llamada f que eleva al
cuadrado su argumento. El comando en Mathematica para definir esta funcin es
f[x_]:=x^2. El _ (subguin) del miembro de la izquierda es muy importante; lo
que esto significa ser mencionado debajo. Por ahora, solamente acurdese de
poner un _ en el miembro de la izquierda, pero no en el miembro de la derecha, de
su definicin.
Esto define la funcin f. Note el _ en el miembro de la izquierda.
f[x_] := x^2
f eleva al cuadrado su argumento.
f[a+1]
102
f[x_]:=x^2
?f
Clear[f]
define la funcin f
muestra la definicin de f
borra todas las definiciones de f
Los nombres como f que usa para funciones en Mathematica son solamente
smbolos. A causa de esto, debera evitar usar nombres que comienzan con
maysculas, para prevenir la confusin con las funciones predefinidas en
Mathematica. Tambin debera asegurarse que no ha usado los nombres
anteriormente en su sesin.
Las funciones en Mathematica pueden tener cualquier nmero de
argumentos.
hump[x_, xmax_] := (x - xmax)^2 / xmax
Usted puede usar la funcin hump tal como cualquiera de las funciones
predefinidas.
2 + hump[x, 3.5]
103
104
Construccin de procedimientos.
105
Esto imprime las salidas de los valores de los cinco primeros factoriales.
Do[ Print[i!], {i, 5} ]
A menudo es ms til tener una lista de los resultados, que usted luego
puede manipular posteriormente.
Table[ i!, {i, 5} ]
106
Puede usar una regla de transformacin para f[x]. Esta regla no afecta a
f[y].
1 + f[x] + f[y] /. f[x] -> p
107
Cuando usted da una definicin de funcin como f[t_]:=t^2, todo lo que hace
es decir a Mathematica que aplique automticamente la regla de transformacin
f[t_]->t^2 siempre que es posible.
Usted puede establecer reglas de transformacin para expresiones de
cualquier forma.
f[a b] + f[c d] /. f[x_ y_] -> f[x] + f[y]
9. Listas
9.1. Juntar objetos
Primero encontramos listas en la seccin 3.3 como una forma de agrupar nmeros.
En esta seccin, veremos diferentes formas de usar listas. Usted encontrar que las
listas son algunos de los objetos ms flexibles y poderosos en Mathematica. Ver
que las listas en Mathematica representan las generalizaciones de varios conceptos
estndar en matemticas e informtica.
En un nivel bsico, lo que esencialmente hace una lista en Mathematica es
proporcionar una forma de agrupar varias expresiones de cualquier clase.
He aqu una lista de nmeros.
{2, 3, 4}
Esto hace una tabla con valores de x variando desde 0 hasta 1 en pasos de
0.25.
Table[Sqrt[x], {x, 0, 1, 0.25}]
Usted puede realizar otras operaciones en las listas que obtiene con Table.
%^2 + 3
Todos los ejemplos hasta ahora han sido de tablas obtenidas variando un slo
parmetro. Usted tambin puede hacer tablas que involucran varios parmetros.
Estas tablas multidimensionales son especificadas usando las notaciones estndares
para el iterador en Mathematica, mencionadas en la seccin 6.4.
Esto hace una tabla de x i + y j con i variando desde 1 hasta 3 y j
variando desde 1 hasta 2.
Table[x^i + y^j, {i, 3}, {j, 2}]
La tabla en este ejemplo es una lista de listas. Los elementos de la lista externa
corresponden a los valores sucesivos de i . Los elementos de cada lista interior
corresponden a los valores sucesivos de j , con i fijo.
110
A veces puede querer generar una tabla evaluando una expresin particular muchas
veces, sin incrementar alguna variable.
Esto crea una lista conteniendo cuatro copias del smbolo x.
Table[x, {4}]
Table[f, {imax}]
Table[f, {i, imax}]
Table[f, {i, imin, imax}]
Table[f, {i, imin, imax, di}]
Table[f, {i, imin, imax},
{j, jmin, jmax}]
TableForm[list]
Usted puede usar las operaciones mencionadas en la seccin 3.4 para extraer los
elementos de la tabla.
Esto crea una tabla de 22, y le da el nombre m.
m = Table[i - j, {i, 2}, {j, 2}]
t[[i]] o Part[t, i]
t[[{i1, i2, ...}]] o
Part[t, {i1, i2, ...}]
t[[i, j, ...]] o
Part[t, i, j, ...]
Como mencionamos en la seccin 3.4, usted puede usar las listas en Mathematica
de modo anlogo a los arrays. Las listas de listas se usan entonces como series
bidimensionales. Cuando usted los presenta en una forma tabular, los dos ndices
de cada elemento son como sus coordenadas x e y.
Puede usar Table para generar arrays de cualquier dimensin.
Esto genera un array tridimensional de 222. Es una lista de listas de listas.
Table[i j^2 k^3, {i, 2}, {j, 2}, {k, 2}]
vector (a, b, c)
a b
matriz
c d
112
113
114
list[[All, j]] o
Part[list, All, j]
list[[i, j]] o
Part[list, i, j]
Dimensions[list]
MatrixForm[list]
Esto da un vector con elementos simblicos. Usted puede usar esto para
obtener frmulas generales vlidas con cualquier tipo de componentes de un
vector.
Array[a, 4]
115
cm
a.b
Inverse[m]
MatrixPower[m, n]
Det[m]
Tr[m]
Transpose[m]
Eigenvalues[m]
Eigenvectors[m]
Esto da su determinante.
Det[m]
He aqu la transpuesta de m.
Transpose[m]
Esto da su inversa.
Inverse[h]
116
117
Take[list, n]
Take[list, n]
Take[list, {m, n}]
Rest[list]
Drop[list, n]
Most[list]
Drop[list, n]
Drop[list, {m, n}]
Usando Drop usted puede realizar la misma operacin que con Rest.
Drop[t, 1]
119
120
121
m[[i,j]] = new
m[[i]] = new
m[[All,j]] = new
concatena listas
combina lista quitando los elementos
repetidos y ordenando el resultado
122
123
Esto ordena los elementos de una lista en forma estndar. En casos simples
como ste el ordenamiento es alfabtico o numrico.
Sort[{b, a, c, a, b}]
PadLeft[list, len, x]
PadRight[list, len, x]
Completar listas.
124
Esto completa una lista con varias x hasta lograr que tenga longitud 10.
PadLeft[{a, b, c}, 10, x]
Esto hace triadas de elementos, con cada triada sucesiva compensada por
slo un elemento.
Partition[t, 3, 1]
Tuples[list, n]
Tuples[{list1, list2, ...}]
125
Ordenamiento de listas.
126
Esto elimina las sublistas. Usted tomarlo como tan solo un comando
eficaz que quita todos las llaves interiores.
Flatten[{{a}, {b, {c}}, {d}}]
Para obtener curvas suaves, Mathematica tiene que evaluar las funciones que usted
desea trazar en un gran nmero de puntos. Por consiguiente, es importante que
establezca las cosas de modo que cada evaluacin de las funciones sea tan rpida
como se pueda.
128
Cuando pide a Mathematica que trace un objeto, digamos f, como una funcin de
x, Mathematica puede hacerlo de dos formas. La primera es tratar a f como una
expresin simblica en trminos de x, y luego evaluar esta expresin
numricamente para los valores especficos de x necesarios en el trazado. La
segunda es calcular primero que valores de x son necesarios, y slo posteriormente
evaluar f con aquellos valores de x.
Si digita Plot[f, {x, xmin, xmax}] es usada la segunda alternativa. Esto tiene la
ventaja que Mathematica slo trata de evaluar f para valores numricos especficos
de x; sin importar si f define valores sensibles cuando x es simblico.
Hay, sin embargo, algunos casos en los cuales es mucho mejor tener f evaluada
antes de empezar a hacer el trazado. Un caso tpico es cuando f es en realidad un
comando que genera una tabla de funciones. Usted puede hacer que Mathematica
primero produzca la tabla, y en seguida evale las funciones, antes que producir la
tabla de nuevo para cada valor de x. Puede hacer esto digitando
Plot[Evaluate[f], {x, xmin, xmax}].
Esto hace un trazado de las funciones Bessel J n ( x) con n variando desde 1
hasta 4. Evaluate le dice a Mathematica que primero haga la tabla de
funciones, y slo entonces evale para valores particulares de x.
Plot[Evaluate[Table[BesselJ[n, x], {n, 4}]],
{x, 0, 10}]
129
10.2. Opciones
Cuando Mathematica traza un grfico para usted, tiene que escoger muchas
opciones. Tiene que resolverse lo que deben ser las escalas, donde se debe mostrar
la funcin, cmo deben dibujarse los ejes, etctera. La mayora de las veces,
Mathematica probablemente tomar opciones bastante buenas. Sin embargo, si
usted quiere obtener los mejores dibujos posibles para sus objetivos particulares,
debera ayudar a Mathematica en la eleccin de algunas de sus opciones.
Hay un mecanismo general para especificar opciones en las funciones de
Mathematica. Cada opcin tiene un nombre definido. Como ltimos argumentos de
una funcin como Plot, usted puede incluir una secuencia de reglas de la forma
nombre -> valor, para especificar los valores de varias opciones. A cualquier
opcin para la cual usted no da una regla explcita se le asigna su valor por
defecto.
130
Una funcin como Plot tiene muchas opciones que usted puede ajustar. Por lo
general tendr que usar varias de ellas a la vez.
Si usted quiere optimizar un trazado particular, probablemente deber
experimentar, intentando una secuencia de diferentes ajustes para varias opciones.
Cada vez que usted produce un grfico, puede especificar opciones para l. La
seccin 10.3 mencionar como usted puede cambiar algunas opciones, an despus
de que ha producido el grfico.
nombre de la opcin
AspectRatio
1/GoldeRatio
Axes
AxesLabel
Automatic
None
AxesOrigin
Automatic
TextStyle
$TextStyle
FormatType
StandardForm
DisplayFunction
$DisplayFunction
Frame
False
proporcin alto-ancho de
el grfico; Automatic
se usa para escalas iguales
de x e y
si se desea incluir ejes
etiquetas para colocarles a
los ejes; {xlabel, None}
especifica una etiqueta
para el eje x; {xlabel,
ylabel} especifica una
etiqueta para ambos ejes
el punto en el que se
interceptan los ejes
el estilo por defecto a usar
para el texto del grfico
el tipo de formato por
defecto a usar para el
texto en el grfico
para mostrar los grficos;
Identity no los
muestra
si desea dibujar un marco
alrededor del grfico
131
FrameLabel
None
FrameTicks
Automatic
GridLines
None
PlotLabel
None
PlotRange
Automatic
Ticks
Automatic
Algunas de las opciones de Plot. Estas opciones tambin pueden usarse en Show.
He aqu un grfico con todas las opciones que tienen sus valores por
defecto.
Plot[Sin[x^2], {x, 0, 3}]
Esto especifica las etiquetas para los ejes x e y. Las expresiones que usted
da como etiquetas son impresas como salidas de Mathematica. Puede dar
cualquier porcin de texto ponindolo entre comillas.
Plot[Sin[x^2], {x, 0, 3},
AxesLabel -> {"x value", "Sin[x^2]"} ]
133
Automatic
None
All
True
False
134
0.
135
nombre de la opcin
PlotStyle
Automatic
PlotPoints
25
MaxBend
10.
PlotDivision
30.
Compiled
True
136
rehace un grfico
rehace con opciones cambiadas
combina varios grficos
dibuja un array de grficos
muestra informacin guardada de un grfico
137
Usando Show con una secuencia de opciones diferentes, usted puede ver el mismo
grfico de varias formas diferentes. Puede desear hacer esto, por ejemplo, si trata
de encontrar el mejor ajuste posible de opciones.
Tambin puede usar Show para combinar grficos. No importa si los grficos no
tienen la misma escala: Mathematica siempre escoger nuevas escalas para incluir
los puntos que usted quiere.
Esto fija gj0 para que sea un grfico de J 0 ( x) desde x = 0 hasta 10.
gj0 = Plot[BesselJ[0, x], {x, 0, 10}]
138
Esto muestra los dos grficos anteriores combinadas en uno. Note que la
escala es ajustada apropiadamente
gjy = Show[gj0, gy1]
Show[GraphicsArray[
{{plot11, plot12, ...} , ...}]]
Show[GraphicsArray[
plots, GraphicsSpacing
-> {h, v}]]
He aqu una forma de cambiar opciones para todos los grficos del array.
Show[ % /. (Ticks -> Automatic) ->
(Ticks -> None) ]
140
Cuando usted traza un grfico, Mathematica guarda la lista de puntos que este us,
junto con alguna otra informacin. Usando lo guardado, usted puede rehacer
grficos de muchas formas diferentes con Show. Sin embargo, usted debera
comprender que no importa que opciones especifique, Show todava tiene el
mismo conjunto bsico de puntos para trabajar. Por ejemplo, si usa opciones de
modo que Mathematica muestre una pequea parte de su grfico original ampliado,
usted probablemente ser capaz de ver los puntos individuales de la muestra que
Plot ha usado. Las opciones como PlotPoints slo pueden ajustarse en el
comando Plot original.
141
Esto muestra una pequea regin del grfico en una forma ampliada. En esta
resolucin los segmentos de recta individuales que fueron producidos por le
comando Plot original.
Show[%, PlotRange -> {{0, .3}, {.92, 1}}]
Options[function]
Options[function, option]
SetOptions[function,
option -> value, ...]
AbsoluteOptions[plot,
option]
He aqu un grfico, con ajustes por defecto para todas las opciones.
g = Plot[SinIntegral[x], {x, 0, 20}]
144
ColorFunction
Automatic
Contours
10
PlotRange
Automatic
ContourShading
PlotPoints
True
30.
Compiled
True
145
Usted debe comprender que si no evala su funcin sobre una cuadrcula bastante
fina, puede haber inexactitudes en su grfico de contorno. Un punto a notar es que
mientras que una curva generada por Plot puede ser inexacta si su funcin vara
demasiado rpido en una regin particular, la forma de los contornos puede ser
inexacta si su funcin vara demasiado despacio. Una funcin que vara
rpidamente da un modelo regular de contornos, pero una funcin que es casi plana
puede dar contornos irregulares. Usted puede solucionar tales problemas
aumentando el valor de PlotPoints.
Los grficos de densidad muestran los valores de su funcin como un array
regular de puntos. Las regiones ms claras son ms altas.
DensityPlot[Sin[x] Sin[y], {x, -2, 2}, {y, -2, 2}]
nombre de la opcin
ColorFunction
Mesh
PlotPoints
Automatic
True
25
Compiled
True
147
Axes
AxesLabel
Automatic
None
Boxed
True
ColorFunction
Automatic
TextStyle
$TextStyle
FormatType
StandardForm
DisplayFunction
$DisplayFunction
FaceGrids
None
HiddenSurface
True
Lighting
True
Mesh
True
148
PlotRange
None
Shading
Automatic
ViewPoint
{1.3, -2.4, 2}
PlotPoints
25
Compiled
True
Algunas opciones para Plot3D. Estas opciones tambin pueden usarse en Show.
Esto vuelve a dibujar el grfico anterior, con opciones cambiadas. Con este
ajuste para PlotRange, slo es mostrada la parte de la superficie en el
rango 0.5 z 0.5 .
Show[%, PlotRange -> {-0.5, 0.5}]
He aqu el mismo grfico, con etiquetas para los ejes, y cuadrculas aadidas
a cada cara.
Show[%, AxesLabel -> {"Time", "Depth", "Value"},
FaceGrids -> All]
150
{1.3, -2.4, 2}
{0, -2, 0}
{0, -2, 2}
{0, -2, -2}
{-2, -2, 0}
{2, -2, 0}
{0, 0, 2}
151
152
153
154
155
Show[ContourGraphics[
g]]
Show[DensityGraphics[
g]]
Show[SurfaceGraphics[
g]]
Show[Graphics[g]]
156
ListPlot[list,
PlotJoined -> True]
ListPlot3D[
{{z11, z12, ...},
{z21, z22, ...}, ...}]
ListContourPlot[array]
ListDensityPlot[array]
157
159
ParametricPlot[{fx, fy},
{t, tmin, tmax},
AspectRatio ->
Automatic]
160
ParametricPlot3D[
{fx, fy, fz}, {t, tmin, tmax}]
ParametricPlot3D[
{fx, fy, fz}, {t, tmin, tmax},
{u, umin, umax}]
ParametricPlot3D[
{fx, fy, fz, s}, ...]
ParametricPlot[{
{fx, fy}, { gx, gy}, ...}, ...]
161
ParametricPlot3D[{fx, fy, fz}, {t, tmin, tmax}, {u, umin, umax}] crea una
superficie, y no una curva. La superficie es formada de una coleccin de
cuadrilteros. Las esquinas de los cuadrilteros tienen coordenadas correspondiente
a los valores de los fi cuando t y u toman valores en una cuadrcula regular.
Aqu las coordenadas x e y de los cuadrilteros estn dadas simplemente por
t y u. El resultado es un grfico de la clase que puede producirse con
Plot3D.
ParametricPlot3D[{t, u, Sin[t u]}, {t, 0, 3},
{u, 0, 3}]
Esto muestra la misma superficie que antes, pero con las coordenadas
deformadas por una transformacin cuadrtica.
ParametricPlot3D[{t, u^2, Sin[t u]}, {t, 0, 3},
{u, 0, 3}]
163
164
<<Graphics`
LogPlot[f, {x, xmin, xmax}]
LogLogPlot[
f,
{x, xmin, xmax}]
LogListPlot[list]
LogLogListPlot[list]
PolarPlot[
r,
{t, tmin, tmax}]
ErrorListPlot[{
{x1, y1, dy1}, ...}]
TextListPlot[{
{x1, y1, "s1"}, ...}]
BarChart[list]
PieChart[list]
PlotVectorField[
{fx, fy},
{x, xmin, xmax},
{y, ymin, ymax}]
ListPlotVector
Field[list]
SphericalPlot3D[
r,
{theta, min, max},
{phi, min, max}]
Esto traza un grfico de los primos usando los enteros 1, 2, 3, ... smbolos
parta graficar.
TextListPlot[p]
166
Cuando usted produce una secuencia de cuadros para una pelcula, es importante
que los diferentes cuadros sean consistentes. As, por ejemplo, usted debe dar un
ajuste explcito para la opcin PlotRange, antes que usar el ajuste por defecto
167
Automatic, para asegurarse que las escalas usadas en marcos diferentes sean las
mismas. Si usted tiene grficos tridimensionales con puntos de vista diferentes, de
modo similar debe ajustar SphericalRegion -> True para asegurarse que la
escala de grficos diferentes es la misma.
Esto genera una lista de objetos grficos. Ajustando DisplayFunction
-> Identity se detiene la salida que Plot3D produce. Explcitamente el
ajuste de PlotRange asegura que la escala es la misma en cada uno de los
grficos.
Table[ Plot3D[ BesselJ[0, Sqrt[x^2 + y^2] + t],
{x, -10, 10}, {y, -10, 10}, Axes -> False,
PlotRange -> {-0.5, 1.0},
DisplayFunction -> Identity ], {t, 0, 8} ] // Short
10.12. Sonido
En la mayor parte de sistemas informticos, Mathematica puede producir no slo
grficos, sino tambin sonido. Mathematica trata los grficos y el sonido de una
forma bastante anloga.
Por ejemplo, tal como usted puede usar Plot[f, {x, xmin, xmax}] para trazar el
grfico de una funcin, tan tambin puede usar Play[f, {t, 0, tmax}] para
producir el sonido de una funcin. Play toma la funcin para definir la forma
168
de la onda para un sonido: los valores de la funcin dan la amplitud del sonido
como una funcin del tiempo.
Play[f, {t, 0, tmax}]
Los sonidos producidos por Play pueden tener cualquier forma de onda. Ellos,
por ejemplo, no tienen que consistir en una coleccin de piezas armnicas. En
general, la funcin amplitud que usted da a Play especifica la seal instantnea
asociada con el sonido. Esta seal es convertida en un voltaje, y en ltima instancia
en un desplazamiento. Note que la amplitud a veces es definida para ser la seal
pico asociada con un sonido; en Mathematica, esto es siempre la seal instantnea
como una funcin del tiempo.
Esto produce un sonido ms complejo.
Play[ Sin[700 t + 25 t Sin[350 t]], {t, 0, 4} ]
169
Una tasa de muestreo r permite frecuencias de hasta r/2 hertz. El sistema humano
auditivo puede percibir sonidos en una frecuencia que se extiende de 20 a 22000
hertz (dependiendo de la edad y el sexo). Las frecuencias fundamentales para las
88 notas de un piano se extienden de 27.5 a 4096 hertz. La tasa estndar de
muestreo usada para reproducir discos compactos es 44100. La tasa eficaz de
muestreo en un tpico sistema telefnico es alrededor de 8000. En la mayor parte
de sistemas informticos, la tasa de muestreo por defecto usada por Mathematica
es alrededor de 8000.
Usted puede usar Play[{f1, f2}, ...] para producir sonido estreo. En general,
Mathematica soporta cualquier nmero de canales de sonido.
ListPlay[{a1, a2, ...},
SampleRate -> r]
La funcin ListPlay le permite simplemente dar una lista de valores que son
tomados como amplitudes de sonido muestreadas en una cierta tasa.
Cuando los sonidos son dados por Mathematica, slo cierto rango de amplitudes es
permitida. La opcin PlayRange en Play y ListPlay especifica como
deberan ser escaladas las amplitudes que usted da para ajustarlas al rango
permitido. Los ajustes para esta opcin son anlogos a los de la opcin de grficos
PlotRange mencionada en la seccin 10.2.
PlayRange -> Automatic
(default)
PlayRange -> All
PlayRange ->
{amin, amax}
170
Usted puede usar letras griegas igual que las letras ordinarias que digita en
su teclado.
171
Hay varias formas de ingresar letras griegas. Esta entrada usa nombres
completos.
Expand[(\[Alpha] + \[Beta])^3]
nombre completo
\[Alpha]
\[Beta]
\[Gamma]
\[Delta]
\[Epsilon]
\[Zeta]
\[Eta]
\[CapitalGamma]
\[CapitalDelta]
\[CapitalTheta]
\[CapitalLambda]
\[CapitalPi]
\[CapitalSigma]
\[CapitalUpsilon
]
\[CapitalPhi]
\[CapitalChi]
\[CapitalPsi]
\[CapitalOmega]
\[Theta]
\[Kappa]
\[Lambda]
\[Mu]
\[Nu]
\[Xi]
\[Pi]
\[Rho]
\[Sigma]
\[Tau]
\[Phi]
\[CurlyPhi
]
\[Chi]
\[Psi]
\[Omega]
alias
Note que en Mathematica la letra se genera con Pi. Ninguna de las otras letras
griegas tiene un significado especial.
se genera con Pi.
172
se usa para
Presionando
sta es una forma alternativa de entrada que evita el uso de la tecla Control.
175
x
.
y
176
va a la posicin de superndice
va a la posicin de subndice
va al subradical de una raz cuadrada
va de subndice a exponente o viceversa, o a
la posicin de ndice radical
va al denominador de una fraccin
retorna de una posicin especial
(Control-Espacio)
177
Formas especiales de entrada usando la tecla Control. La segunda forma dada debera
trabajar en cualquier teclado.
exteriores con .
crea un subescrito
crea un sobreescrito
178
crea un sobreescrito
179
Shift-Enter
Shift-Control-Enter
180
forma corta
forma larga
smbolo
\[Pi]
\[Infinity]
\[Degree]
Pi
Infinity
Degree
caracteres
especiales
forma corta
forma larga
caracteres
ordinarios
x\[LessEqual]y
x\[GreaterEqual]y
x\[NotEqual]y
x\[Element]y
x\[Rule]y
Formas especiales para algunos operadores.
Tambin esto.
O esto.
caracteres
especiales
forma corta
forma larga
caracteres
ordinarios
x\[Divide]y
x\[Times]y
x\[Cross]y
x\[Equal]y
x\[LongEqual]y
x\[And]y
x\[Or]y
\[Not]x
x\[Implies]y
x\[Union]y
x\[Intersection]y
x\[Invisible
Comma]y
x\[Invisible
Application]y
Cross[x, y]
Implies[x, y]
Union[x, y]
Intersection[
x, y]
x, y
Algunos operadores con formas especiales usados para entradas pero no para salidas.
Mathematica entiende
Las formas de entrada discutidas hasta ahora en esta seccin usan caracteres
especiales, pero de en otros casos slo consisten en lneas ordinarias
unidimensionales de texto. Los cuadernos de Mathematica, sin embargo, tambin
hacen posible el uso de formas bidimensionales de entrada.
bidimensional
unidimensional
potencia
divisin
Sqrt[x]
Sum[f,
{i, imin, imax}]
raz cuadrada
raz n-sima
suma
183
Product[f,
{i, imin, imax}]
Integrate[f, x]
Integrate[f,
{x, xmin, xmax}]
D[f, x]
D[f, x, y]
Conjugate[z]
Transpose[m]
Conjugate
Transpose[m]
Part[expr, i, j, ...]
producto
integral indefinida
integral definida
derivada parcial
derivada parcial
multivariable
conjugado complejo
transpuesta
conjugada transpuesta
extraccin de partes
para ingresar la
forma corta
forma larga
\[Sum]
\[Product]
\[Integral]
\[DifferentialD]
\[PartialD]
\[Conjugate]
\[Transpose]
\[Conjugate
Transpose]
\[LeftDouble
Bracket],
\[RightDouble
Bracket]
signo de sumatoria
signo de productoria
signo de integral
especial para uso en
integrales
operador de derivada
parcial
smbolo para conjugado
smbolo para transpuesta
smbolo para conjugada
transpuesta
pares de corchetes
Usted debe comprender que aun cuando un signo de sumatoria pueda parecer casi
idntico a una sigma mayscula son tratados de un modo muy diferente por
Mathematica. El punto es que sigma es slo una letra; pero un signo de sumatoria
es un operador que dice a Mathematica que realice una operacin Sum.
La sigma mayscula es slo una letra.
a + \[CapitalSigma]^2
Mathematica trata un array como ste como una matriz representada por una
lista de listas.
187
va a la posicin de subndice
va a la posicin de subescritura
va a la posicin de superndice
va a la posicin de sobreescritura
retorna de una posicin especial
(Control-Espacio)
Formas especiales de entrada usando la tecla Control. La segunda forma dada debera
trabajar en cualquier teclado.
y
van a las posiciones de superndice y subndice, tambin
Tal como
y
pueden usarse para ir directamente a las posiciones de superescritura
y subescritura. Con la disposicin de un teclado estndar de lengua inglesa
est directamente a la derecha de
mientras que
est directamente a la
derecha de
.
188
combinacin de teclas
forma de expresin
OverBar[x]
OverVector[x]
OverTilde[x]
OverHat[x]
OverDot[x]
UnderBar[x]
Algunas formas de ingresar ciertos adornos comunes usando la tecla Control.
He aqu .
combinacin de teclas
como variable.
forma de expresin
Subscript[x, y]
Underscript [x, y]
Superscript[x, y]
(interpretado como
Power[x, y])
Overscript [x, y]
OverBar[x, y]
OverVector[x, y]
OverTilde[x, y]
OverHat[x, y]
OverDot[x, y]
UnderBar[x, y]
Formas de ingresar adornos sin la tecla Control. Todas estas formas slo pueden usarse
.
dentro de
189
alias
\[AGrave]
\[ARing]
\[AdoubleDot]
\[CCedilla]
\[CHacek]
\[EAcute]
\[EGrave]
\[IAcute]
\[NTilde]
\[OGrave]
nombre completo
alias
\[OSlash]
\[ODoubleDot]
\[UGrave]
\[UDoubleDot]
\[SZ]
\[CapitalARing]
\[CapitalADoubleDot]
\[CapitalODoubleDot]
\[CapitalUDoubleDot]
Usted debe comprender que no hay ningn estndar uniforme para teclados de
computador en el mundo entero, y por consiguiente es inevitable que algunos
detalles que han sido mencionados en este captulo no puedan aplicarse a su
teclado.
con
es vlida slo para
En particular, la identificacin por ejemplo de
teclados en los cuales ^ aparece como Shift-6. En otros teclados, Mathematica usa
para ir a una posicin de superndice, pero no necesariamente
.
190
nombre completo
\[CirclePlus]
\[CircleTimes]
\[PlusMinus]
\[Wedge]
\[Vee]
\[TildeEqual]
\[TildeTilde]
alias
nombre completo
alias
\[LongRightArrow]
\[LeftRightArrow]
\[UpArrow]
\[Equilibrium]
\[RightTee]
\[Superset]
\[SquareIntersection]
191
\[Tilde]
\[Proportional]
\[Congruent]
\[GreaterTilde]
\[GreaterGreater]
\[Succeeds]
\[RightTriangle]
\[Element]
\[NotElement]
\[SmallCircle]
\[Therefore]
\[VerticalSeparator]
\[VerticalBar]
\[Backslash]
, pero no para
Hay algunas formas que se parecen a caracteres sobre un teclado estndar, pero que
son interpretadas de un modo diferente por Mathematica. As, por ejemplo,
\[Backslash]
se muestran como \ pero no es interpretado de la misma
manera que \ digitado directamente en el teclado.
Los caracteres
el teclado.
nombre completo
\[ ScriptL]
\[ ScriptCapitalE]
alias
nombre completo
alias
\[ Angstrom]
\[ HBar]
192
\[ GothicCapitalR]
\[ DoubleStruckCapitalZ]
\[ Aleph]
\[ EmptySet]
\[ Micro]
\[ Sterling]
\[ Angle]
\[ Bullet]
\[ Dagger]
\[ Natural]
una forma que puede ser digitada directamente usando caracteres en un teclado
estndar
una forma para salida que slo usa caracteres
en un teclado estndar
una forma para entrada y salida que hace uso
de caracteres especiales y posicionamiento
una forma principalmente para salida que
193
Con una interfase de cuaderno, la forma por defecto tanto para la entrada como
para la salida es StandardForm.
La idea bsica de StandardForm es proporcionar una representacin exacta y
elegante de expresiones en Mathematica, haciendo uso de caracteres especiales,
posicionamientos bidimensionales, etctera.
Entrada y salida son dadas aqu en StandardForm.
194
Se asume que las celdas previstas para dar entradas al ncleo por defecto
contendrn expresiones StandardForm.
196
Aqu al front end le fue dicho que la entrada sera dada especficamente en
TraditionalForm. El corchete de la celda tiene una lnea dentada para
indicar las dificultades implicadas.
tpicamente hace es asumir que usted esta usando alguna notacin comn en
aplicaciones de matemticas elementales.
En una entrada TraditionalForm, esto es interpretado como una
derivada.
para funciones;
para multiplicacin.
para la constante exponencial E.
198
El tem Generate Palette from Selection hace una paleta activa separada.
Create Table/Matrix/Palette
Generate Palette from Selection
Cuando usted crea una paleta, puede usar los mismos mecanismos para aadir
columnas y filas que usa cuando crea cualquier otra clase de tabla, matriz o rejilla.
As
aadir una nueva columna de botones, y
(Control-Enter) aadir
una nueva fila.
contenidos de botn
accin
Contenidos de botones.
En el caso ms simple, cuando usted presiona un botn en una paleta lo que pasar
es que el contenido del botn ser insertado en su cuaderno, substituyendo lo que
era su seleccin actual.
A veces sin embargo puede que usted simplemente no quiera sustituir su seleccin
actual, sino ms bien puede que quiera modificar la seleccin de algn modo.
Como ejemplo, puede ser que desee aplicar una funcin como Expand a su
seleccin actual. Puede hacer esto estableciendo un botn con el contenido
. El
puede ingresarse como
\[SelectionPlace
holder]. En general,
sirve como un guarda lugar para su seleccin actual.
Cuando usted presiona un botn que contiene , el es primero substituido por
su seleccin actual, y slo entonces el resultado es insertado en su cuaderno.
He aqu una celda en la cual la seleccin actual es parte de una expresin.
, Expand envuelve la
Mathematica le permite asociar cualquier accin que usted quiere con un botn.
Puede establecer algunas acciones comunes usando el men de Edit Button,
seleccionando un solo botn o una paleta entera.
201
Paste
Evaluate
EvaluateCell
CopyEvaluate
CopyEvaluateCell
202
A veces es til extraer la seleccin actual de una clula, y luego operar esta
seleccin en una nueva celda. Usted puede hacer esto utilizando las acciones de
botn CopyEvaluate y CopyEvaluateCell.
He aqu una expresin con una parte seleccionada.
Create Table/Matrix/Palette
Create Button
Generate Palette from Selection
Cell Active
203
La entrada para cada celda aqu es exactamente la misma, pero las celdas
contienen un elemento que muestra un nmero que va aumentando
progresivamente cuando avanzamos a travs del cuaderno.
204
Save["dir", f, g,...]
206
trabajo actual. Usted siempre puede referirse a archivos en este directorio con tan
solo dar sus nombres.
Directory[ ]
SetDirectory["dir"]
FileNames[ ]
FileNames["form"]
<<name
<<context`
CopyFile["file1", "file2"]
DeleteFile["file"]
208
formatos de tabla
formatos de matriz
formatos de datos
especializados
Import y Export pueden manejar datos no slo tabulares, sino tambin datos
correspondientes a grficos, sonidos, expresiones y an documentos completos
Import y Export a menudo pueden deducir el formato apropiado para datos con
simplemente ver la extensin del nombre del archivo para el archivo en el cual los
datos estn siendo almacenados.
Note que usted tambin puede usar Import y Export para manipular archivos
de datos binarios.
Esto importa un grfico en formato GIF.
Import["girafa.gif"]
210
$ImportFormats
$ExportFormats
Export["name.ext",
graphics]
Export["file", graphics,
"format"]
Export["!command",
graphics, "format"]
formatos de grficos
formatos de sonido
211
212
HTMLSave tiene muchas opciones que le permiten especificar como deberan ser
convertidos los cuadernos para navegadores de Web con capacidades diferentes.
Usted puede encontrar detalles escribiendo HTMLSave en el Help Browser de
Mathematica.
MathMLForm[expr]
MathMLForm[
StandardForm[expr]]
ToExpression["string",
MathMLForm]
Splice["infile",
"outfile"]
La idea bsica es establecer las definiciones que usted necesita en una sesin
particular de Mathematica, luego correr Splice para usar las definiciones que ha
hecho para producir la salida apropiada a insertar en los archivos externos.
#include "mdefs.h"
double f(x)
double x;
{
double y;
y = <* Integrate[Sin[x]^5, x] *> ;
return(2*y - 1) ;
}
Un programa simple en C conteniendo una frmula de Mathematica
#include "mdefs.h"
double f(x)
double x;
{
double y;
y = -5*Cos(x)/8 + 5*Cos(3*x)/48 - Cos(5*x)/80 ;
return(2*y - 1) ;
}
El programa anterior en C procesado con Splice
218
Bibliografa
Wolfram Research. The Mathematica Book.
219