You are on page 1of 79

Mathematica5.

nb

Gua rpida para el nuevo usuario de Mathematica 5.0


Mathematica y MathReader son marcas registradas de Wolfram Research. Por Eugenio Manuel Fedriani Martel (efedmar@dee.upo.es) y Alfredo Garca Hernndez-Daz (agarher@dee.upo.es) Universidad Pablo de Olavide Mayo de 2004

Introduccin
Estos apuntes son una aproximacin al programa Mathematica en su versin 5.0. No se le suponen conocimientos previos al lector sobre el programa, pero puede complementarse con otros muchos manuales relativos al mismo. En el programa Mathematica se pueden distinguir dos grandes partes. Una de ellas, llamada ncleo (Kernel), es la encargada de ejecutar todos los comandos y realizar los clculos necesarios. La otra parte es la interfaz del usuario (Front-End). Existe un tipo especial de Front-End que permite generar documentos interactivos en los que se mezclan grficos y textos y en el que se incluirn todos los comandos a evaluar por el ncleo; a ese tipo de documentos se los denomina Notebooks. La forma de interaccionar entre estas dos partes la dirige el usuario, es decir, que el ncleo no realiza ninguna accin hasta que el usuario no se lo indique y para ello se puede pulsar las teclas Shift y Enter simultneamente. En caso de pulsar la tecla Enter nicamente, la entrada no se evaluar, simplemente se cambia de lnea para poder introducir otro input. Una vez pulsado Shift y Enter, se evaluarn todos los inputs introducidos. Una vez cargado el ncleo, se est en condiciones de comunicarse con el programa. A un input dado por el usuario, Mathematica devolver un output que numerar (ambos con el mismo nmero) secuencialmente a lo largo de una sesin de trabajo. Esto permite hacer referencia en cualquier momento a un resultado obtenido o a una variable definida anteriormente. El smbolo % se utiliza para referirse al output inmediatamente anterior; pueden usarse %%, %%%, %%%%, etc. para el penltimo, antepenltimo, etc. Otra forma alternativa es usar %n donde n es el nmero del output. Adems, cada entrada y salida lleva un corchete situado a la derecha de la pantalla delimitando lo que denominaremos celdas (Cell). Esta distincin por celdas nos permitir, entre otras cosas, cambiar el estilo y formato de stas, suprimirlas fcilmente y agruparlas o desagruparlas por bloques de trabajo. Tambin conviene saber que los

Mathematica5.nb

inputs se pueden recalcular cuantas veces se desee (por si queremos cambiar un dato, por ejemplo) y la nueva salida sustituir a la antigua asignndoles a ambos una nueva numeracin. Otro punto a tener en cuenta es que cuando escribamos comandos deberemos tener cuidado con: Las maysculas y minsculas. Mathematica distingue unos caracteres de otros. Todas las funciones, opciones, variables y constantes incorporadas al programa empiezan con mayscula (conviene nombrar las que definamos nosotros con minscula). Los espacios. Un espacio entre dos variables se interpreta como un signo de multiplicacin. Por esto, nunca debemos dejar un espacio entre caracteres cuando demos un nombre a una constante, variable o funcin. Parntesis, corchetes y llaves. Tienen funciones muy diferentes. Los parntesis se utilizan para agrupar e indican prioridad en las operaciones a efectuar. Los corchetes son exclusivos de las funciones y delimitan el argumento de las mismas (no usarlos como un segundo nivel de parntesis!) y, por ltimo, las llaves se utilizan para definir listas (vectores y matrices, por ejemplo) de elementos. Una de las novedades ms importantes que se introdujo en la versin 3.0 y que ha continuado hasta la versin actual es lo que se denominan paletas (palettes). Las paletas son pequeas ventanas que podemos activar (o desactivar) y que contienen algunas de las operaciones, rdenes e instrucciones ms usuales que necesitaremos durante nuestro trabajo. Inicialmente son siete paletas que contienen todo tipo de operaciones, desde las ms bsicas hasta otras ms complejas de Clculo Algebraico, Clculo Integral o de Clculo Diferencial. Pero no solo nos va a servir para tenerlas ms a mano, sino que adems nos ofrecen la posibilidad de escribir, y por tanto resolver, de la misma forma que escribimos en un folio. Es decir, podemos resolver la integral definida de x entre 0 y 2 tecleando Integrate[x, {x, 0, 2}] o usar la Paleta 3 denominada BasicCalculations (la podemos encontrar en File/Palettes/3BasicCalculations) y 2 escribir 0 x x, lo cual es mucho ms intuitivo. ste podra ser el aspecto normal de parte de una ventana de Mathematica, donde podemos apreciar algunos de los aspectos que ya hemos comentado hasta este punto.

Mathematica5.nb

A la izquierda tenemos el Notebook, donde hemos realizados algunas operaciones sencillas. Con cada input que hemos introducido, y una vez que hemos pulsado Shift+Enter, el ncleo nos devuelve un output y todos ellos van enumerados consecutivamente. Al realizar la primera operacin se activ el ncleo (luego la suma 2+2 no es que haya tardado unos segundos en realizarla sino que primero se carg el ncleo y luego realiz la operacin). El ncleo solo es visible en una pestaa de la barra de tareas, si se pulsa apreciaremos que no ocurre nada, es decir, el ncleo no es visible. A la derecha tenemos activadas cuatro paletas. La de la izquierda es la Paleta 3 (BasicCalculations), la del centro es la Paleta 6 (CompleteCharacters) y las dos ltimas son: arriba la Paleta 4 (BasicInput) y abajo la Paleta 2 (AlgebraicManipulation). Estas paletas son las que hemos utilizado para facilitarnos la escritura de la integral, el lmite y la matriz que aparecen en el Notebook.

Edicin de documentos de Mathematica (.nb)


Existen diferentes editores de texto especficos para poder visualizar documentos de trabajo de Mathematica con la idea de que todo el mundo pueda editarlos, leerlos o modificarlos sin necesidad de adquirir la versin completa del programa. Estos programas nos permitirn nicamente visualizar los Notebooks (archivos .nb), es decir, no se podrn utilizar para realizar

Mathematica5.nb

operacin alguna. Los editores de texto para Mathematica no contienen el ncleo de Mathematica. El editor que recomendamos usar se denomina MathReader y ha sido creado por la misma compaa que Mathematica (Wolfram Research, Inc.). ste se puede descargar gratuitamente en la direccin www.wolfram.com/products/ y nos servir para visualizar, entre otros, artculos de Economa y Empresa como los disponibles en la pgina http://library.wolfram.com/infocenter/BySubject/BusinessAndEconomics.

Creacin de documentos con Mathematica


Otra de las aplicaciones que incorpora Mathematica es la posibilidad de crear documentos de trabajo como artculos o libros (por ejemplo, este manual ha sido escrito ntegramente con Mathematica). Para ello, Mathematica incorpora opciones de formato como la eleccin del estilo de presentacin, la fuente para el texto, el tamao de la letra, el estilo de letra (negrita, subrayado...), la justificacin del texto y muchas opciones ms que se pueden consultar en el men Format. Para su correcta utilizacin, conviene saber que Mathematica distingue entre celdas (Cells) del tipo input, output, celdas de texto o, por ejemplo, una celda para el ttulo del libro (estilo Title). De hecho, si escribimos texto dentro de una celda del tipo input, Mathematica intentar evaluar este texto y, al no comprender lo que escribimos, dar varios errores. Es decir, cuando queramos escribir texto deberemos dividir una celda en dos celdas distintas, la primera para el texto (estilo Text) a la que le daremos el formato que deseemos y la segunda para las operaciones y funciones que queremos que calcule Mathematica (estilo input) las cuales llevan un estilo por defecto, pero que tambin podemos modificar. Todas las operaciones que conciernen a las celdas (tipo de celda, agrupacin o divisin) se encuentran en el men Cell. Tambin es posible introducir texto dentro de una celda evaluable utilizando (* comentario *).

Uso de la ayuda de Mathematica


La ayuda disponible en Mathematica es bastante completa y se puede encontrar dentro del men Help. Una vez desplegado dicho men podemos seleccionar las opciones Help Browser o Master Index, donde se puede acceder a abundante documentacin (ejemplos, enlaces, etc.) que nos pueden servir de gran ayuda. Desde la ayuda tambin se hace referencia a numerosos paquetes que, aunque pueden formar parte de la distribucin estndar de Mathematica 5.0, no pueden ser utilizados hasta que el usuario los cargue previamente (como ya se ver, mediante << o el comando Needs).

Mathematica5.nb

Calculadora
Mathematica reconoce los operadores habituales de suma, diferencia, producto, cociente y potenciacin: Operacin Suma Resta Producto Cociente Potenciacin Notacin en Mathematica x+y x-y x*y o bien x y (un espacio) x/y x^y

Otras operaciones numricas usuales son el clculo del valor absoluto, la raz cuadrada, la parte entera, el factorial Operacin Notacin en Mathematica Valor absoluto de x Abs[x] Raz cuadrada de x Sqrt[x] Parte entera de x Floor[x] Factorial de x x! o Factorial[x] Nmero aleatorio real entre 0 y 1 Random[] Mximo y mnimo de una lista de valores Max[x1, x2,], Min[x1, x2,] Descomposicin en factores primos de x FactorInteger[x] Ya que stas son las primeras funciones que aparecen, vamos a realizar algn comentario. En primer lugar destacar que, tal como se coment al principio, todas las funciones comienzan con maysculas (incluso cuando el nombre est formado por varias palabras) y, en segundo lugar, que los argumentos de las distintas funciones siempre van entre corchetes. Adems, la mayora de las operaciones anteriores se encuentran tambin en varias de las paletas, como la Paleta 3 (BasicCalculations) y la Paleta 4 (BasicInputs). Con respecto a la precisin en el clculo, Mathematica tiene precisin infinita; es decir, que las operaciones son realizadas en forma exacta o bien con la precisin que le indique el operador. Esto hace que no haya ninguna limitacin en cuanto al tamao mximo de los nmeros enteros que es capaz de manejar salvo la nica limitacin de la memoria disponible del PC. Probemos con 2^300 :

Mathematica5.nb

2^300 203703597633448608626844568840937816105146839366593625063614044935 4381299763336706183397376

Ntese cmo indica que el resultado ocupa ms de una lnea. Si queremos aproximar expresiones racionales peridicas o expresiones irracionales, debemos utilizar el comando N[expresin, nmero de cifras], donde el primero de los argumentos (expresin) corresponde a la cantidad numrica que deseamos aproximar y el segundo de los argumentos (nmero de cifras) a la cantidad de cifras con la que quieres que se exprese el resultado (parte entera+decimales). Esta orden tambin la tenemos disponible en la paleta BasicCalculations/Arithmetic and Numbers. Por ejemplo, obtengamos el desarrollo de 123/9990 y de la raz cuadrada de 3 con 20 cifras exactas:
123 99990 41 33330 N@123 99990D

0.00123012

N@Sqrt@3D, 20D 1.7320508075688772935

La orden Sqrt[ ] (del Ingls square root) es el comando usado para calcular la raz cuadrada. Tambin aparece en la paleta BasicCalculations/Arithmetic and Numbers. Tambin podemos calcular aproximaciones numricas indicndole a Mathematica que alguno de los nmeros es real y no entero; para ello le pondremos el punto de los decimales y Mathematica devolver el resultado con una precisin por defecto. Obsrvese que 123/99 no produce la misma salida que 123./99:

Mathematica5.nb

123 99 41 33 123. 99

1.24242

Constantes incorporadas
Mathematica tiene un gran nmero de constantes usuales predefinidas, algunas de ellas son: Constante p E (unidad imaginaria) (infinito) Notacin en Mathematica Pi o Esc+p+Esc E o Esc+e+e+Esc I o Esc+i+i+Esc Infinity

Si bien "infinito" no es una constante, ya que no es un valor numrico, Mathematica la incluye como constante predefinida. Por supuesto, tambin es posible escribir estas constantes seleccionndolas de las paletas. Busquemos el valor de p con 20 cifras exactas. Para ello utilizaremos de nuevo la orden N[] que sirve para calcular aproximaciones, como ya se ha visto.
N@p, 20D 3.1415926535897932385

Mathematica5.nb

Funciones usuales
Veamos ahora una tabla de las funciones ms usuales y su sintaxis en Mathematica: Funcin !!! x x e ln(x) loga(x) sen(x) cos(x) tg(x) cotg(x) sec(x) cosec(x) arcsen(x) sh(x) arcsh(x) Notacin en Mathematica Sqrt[x] E^x o bien Exp[x] Log[x] Log[a,x] Sin[x] Cos[x] Tan[x] Cot[x] Sec[x] Csc[x] ArcSin[x] Sinh[x] ArcSinh[x]

Muchas de estas funciones se encuentran en la paleta BasicCalculations/ Trigonometric and Exponential Functions.

Mathematica5.nb

Comandos algebraicos usuales


Mediante el comando Expand[] podemos obtener el desarrollo de las expresiones introducidas (por ejemplo, la aplicacin de la propiedad distributiva, el desarrollo del cuadrado del binomio...). Esta orden tambin se encuentra en la paleta Algebraic Manipulation. Pasemos a explicar algunas de las operaciones algebraicas que se encuentran en dicha paleta: Orden Expand[x] Factor[x] Together[x] Apart[x] Cancel[x] Simplify[x] FullSimplify[x] TrigExpand[x] TrigFactor[x] Veamos algunos ejemplos:
Expand@H1 - xL^3D 1 3 x + 3 x2 x3

Significado Forma expandida (efecta sumas, productos, potencias). Factoriza x (escribe x como producto de factores mnimos). Escribe todos los trminos de x con un denominador comn. Separa x en trminos con denominadores lo ms simples posible. Cancela factores comunes que posean numerador y denominador. Simplifica x siguiendo reglas algebraicas estndar. Simplifica x usando reglas algebraicas ms potentes. Expande expresiones trigonomtricas en suma de trminos. Factoriza expresiones trigonomtricas en producto de trminos.

Factor@%D H1 + xL3

Mathematica5.nb

10

Expand@H1 + x + 3 yL^4D Factor@%D Factor@x^10 - 1D Expand@%D 1 + 4 x + 6 x2 + 4 x3 + x4 + 12 y + 36 x y + 36 x2 y + 12 x3 y + 54 y2 + 108 x y2 + 54 x2 y2 + 108 y3 + 108 x y3 + 81 y4 H1 + x + 3 yL4

H1 + xL H1 + xL H1 x + x2 x3 + x4 L H1 + x + x2 + x3 + x4 L 1 + x10

Resolucin de ecuaciones y sistemas de ecuaciones


Para determinar los ceros de una funcin, podemos usar los comandos Solve[ecuacin, variables] y Nsolve[ecuacin, variables] (Paleta BasicCalculations/Algebra/SolvingEquations) siempre que la funcin sea polinmica o tenga una forma sencilla de expresin: Solve[ ] da el valor exacto de las races de la funcin y NSolve[ ] da el valor aproximado de las mismas. En el caso de que la funcin sea ms compleja, se pueden calcular aproximaciones de las races utilizando la orden FindRoot[ ], que utiliza mtodos numricos para su resolucin. Ejemplo.- Calculemos las races de f(x)=x2+5x:
Solve@x^2 + 5 x == 0, xD 88x 5<, 8x 0<<

Mathematica proporciona la respuesta en el formato que hemos visto. Ntese que debe escribirse el doble signo igual entre la funcin y el valor cero para indicar que es una ecuacin. La x que figura despus de la coma identifica la variable o incgnita a despejar. Si intentamos hallar, mediante el comando anterior, las races de g(x)=x3-7x2+6x+4 obtendremos una expresin complicada, que es el valor exacto de cada una de ellas (le sugerimos probarlo). Si solo deseamos una aproximacin de las mismas, usaremos el comando NSolve[]:

Mathematica5.nb

11

NSolve@x^3 - 7 x^2 + 6 x + 4 == 0, xD 88x 0.433665<, 8x 1.57414<, 8x 5.85952<<

El comando FindRoot[] es til para aproximar algn cero de la funcin dada. Podemos utilizarla en una de las dos siguientes versiones: FindRoot[funcin,{x,x0}] que utiliza el Mtodo de Newton (o mtodo de la tangente) tomando como punto incial x=x0 o FindRoot[funcin,{x,x0,x1}] que utiliza una variante del Mtodo de la secante tomando como puntos iniciales x=x0 y x=x1. Como este comando usa mtodos aproximados iterativos, es posible que si damos valores muy alejados para los puntos iniciales, Mathematica no pueda encontrar una solucin (o la solucin que buscamos). Es conveniente hacer primero una grfica de la funcin para ver dnde se anula la funcin (ms adelante explicaremos algo ms sobre las representaciones grficas). Por ejemplo, hallemos un cero de la funcin h(x)=sen(x^2)-cos(x):
Plot@Sin@x^2D - Cos@xD, 8x, -Pi, Pi<D

2 1.5 1 0.5

-3

-2

-1 -0.5 -1

Graphics

Observamos que la funcin presenta un cero (corta al eje de abscisas) en el intervalo (0,1). Por lo tanto hacemos:
FindRoot@Sin@x^2D - Cos@xD, 8x, 0, 1<D 8x 0.849369<

Mathematica5.nb

12

Repitiendo el procedimiento, podremos hallar cualquier otra raz que nos propongamos. Para sistemas de ecuaciones algebraicas bastar escribir las ecuaciones entre llaves e indicar las variables del sistema.
Solve@82 x + 3 y == 4, x + y == 3<, 8x, y<D 88x 5, y 2<<

Vectores y matrices
Para definir un vector de tres coordenadas basta con escribir los elementos entre llaves y separados por comas. Igualmente, para definir una matriz bastar escribirla como un vector de vectores que correspondern a las filas de la matriz. Tambin se puede usar la paleta BasicCalculations/ Lists and Matrices, como se ver luego. Definamos dos vectores:
v2 = 82, 6, -3< 81, 2, 3< 82, 6, 3< v1 = 81, 2, 3<

Ntese que se ha asignado a dos variables el valor de vectores con el signo "=". Podemos hacer el producto escalar entre ellos:
v1.v2 5

o tambin
Dot@v1, v2D 5

Mathematica5.nb

13

Tambin el producto vectorial:


Cross@v1, v2D 824, 9, 2<

Y ojo con el resultado de esta multiplicacin (elemento a elemento):


v1 * v2 82, 12, 9<

Finalmente, para obtener el elemento i-simo de un vector haremos Part[v,i]. Por ejemplo, el segundo elemento de v1 es
Part@v1, 2D 2

Una vez que hemos visto cmo se introducen vectores manualmente, veamos que tambin es posible generarlos con la orden Table[], cuya definicin es Table[expr,{imax}] Table[expr,{i,imax}] Table[expr,{i,imin,imax}] genera un vector con imax copias de expr. genera un vector variando expr desde i=1 hasta i=imax. genera un vector variando expr desde i=imin hasta i=imax. Table[expr,{i,imin,imax,di}] genera un vector variando desde imin hasta imax con saltos di. Veamos algunos ejemplos:
Table@n^2, 8n, 4<D 81, 4, 9, 16< Table@Sin@xD x, 8x, 1, 3, 0.2<D

8Sin@1D, 0.776699, 0.703893, 0.624734, 0.541026, 0.454649, 0.367498, 0.281443, 0.19827, 0.119639, 0.04704<

Mathematica5.nb

14

Table@2 a, 8a, 2, 6<D

Pasemos ahora a aspectos bsicos del Clculo Matricial. Definamos un par de matrices:
b = 881, 1, 1<, 86, 3, 2<, 81, -3, 0<< a = 881, 2, 5<, 8-2, 5, 7<, 81, 0, 3<<

84, 6, 8, 10, 12<

881, 2, 5<, 82, 5, 7<, 81, 0, 3<< 881, 1, 1<, 86, 3, 2<, 81, 3, 0<<

Podemos expresarlas en el formato tradicional utilizando la orden MatrixForm[]:


MatrixForm@aD MatrixForm@bD i 1 2 5y j j 2 5 7 z z j z j z j z j z k 1 0 3{ i1 1 1 y j j6 3 2 z z j z j z j z j z k 1 3 0 {

La multiplicacin no es ms que a.b, pero si queremos que el resultado tenga la forma tradicional haremos:
MatrixForm@a.bD i 18 8 5 y j j 35 8 8 z z j z j z j z j z 4 8 1 { k

Adems, como es de esperar, podemos multiplicar matrices con vectores y matrices con escalares:

Mathematica5.nb

15

MatrixForm@a.v1D i 20 y j j 29 z z j z j z j z j z k 10 { MatrixForm@2 aD i 2 4 10 y j j 4 10 14 z z j z j z j z j z k 2 0 6 {

Tambin es posible introducir matrices mediante el uso de las paletas. En varias de las paletas (BasicInput, BasicCalculations y otras) aparece la opcin correspondiente a una matriz 2x2. Una vez seleccionada esta opcin, podemos aadirle filas y columnas pulsando Ctrl+Enter y Ctrl+"," respectivamente. En la siguiente tabla se resumen algunas de las operaciones matriciales ms usuales, como el clculo del determinante, los autovalores o valores propios, los autovectores o vectores propios, la inversa, etc. Operacin Inversa Determinante Valores propios Vectores propios Polinomio caracterstico Rango Traspuesta Traza Reducida por filas Matriz Diagonal Matriz Identidad nxn Espacio nulo de a Notacin en Mathematica Inverse[a] Det[a] Eigenvalues[a] Eigenvectors[a] CharacteristicPolynomial[a,x] MatrixRank[a] Transpose[a] Tr[a] RowReduce[a] DiagonalMatrix[{a11,a22,...}] IdentityMatrix[n] NullSpace[a]

Mathematica5.nb

16

Det@aD 16

MatrixForm@Inverse@aDD i 15 j 16 j j 13 j j j 16 j j j 5 j k 16 9
3 8 1 8 1 8

11 16 17 16 9 16

y z z z z z z z z z z {

Eigenvalues@aD 1 1 !!!!!! !!!!!! I7 + 17 M, 2, I7 17 M= 2 2

Eigenvectors@aD 993 + 1 3 !!!!!! !!!!!! I7 + 17 M, 5 + I7 + 17 M, 1=, 2 4 1 3 !!!!!! !!!!!! 81, 3, 1<, 93 + I7 17 M, 5 + I7 17 M, 1== 2 4

MatrixRank@aD 3

MatrixForm@Transpose@aDD i 1 2 1 y j j2 5 0 z z j z j z j z j z k5 7 3 { RowReduce@aD 881, 0, 0<, 80, 1, 0<, 80, 0, 1<<

Mathematica5.nb

17

MatrixForm@%D i1 0 0 y j j0 1 0 z z j z j z j z j z k0 0 1 {

Merece especial atencin la orden Eigensystem[], ya que sta proporciona directamente los autovalores y autovectores de la matriz en la misma salida. Concretamente, Eigensystem[] proporciona un primer vector con los autovalores de la matriz y un segundo vector cuyos elementos son autovectores asociados a los autovalores anteriormente ordenados y que, si es posible, forman una base del espacio. En el caso de que no se pueda obtener una base formada por autovectores, Mathematica aadir vectores nulos hasta completar la base (luego no sera una base). As, tanto Eigenvectors[] como Eigensystem[] proporcionan autovectores linealmente independientes en nmero mximo. Para la matriz "a" que estamos usando como ejemplo, la orden Eigensystem[a] proporciona la misma informacin que la aplicacin sucesiva de Eigenvalues[a] y Eigenvectors[a]:
Eigensystem@aD 99 1 1 !!!!!! !!!!!! I7 + 17 M, 2, I7 17 M=, 2 2 1 3 !!!!!! !!!!!! 993 + I7 + 17 M, 5 + I7 + 17 M, 1=, 2 4 1 3 !!!!!! !!!!!! 81, 3, 1<, 93 + I7 17 M, 5 + I7 17 M, 1=== 2 4

Para una matriz no diagonalizable, no nos puede proporcionar una base formada por autovectores:
c = 881, 1, 3<, 80, 1, 2<, 80, 0, 2<< MatrixForm@cD i1 1 3 y j j0 1 2 z z j z j z j z j z k0 0 2 {

881, 1, 3<, 80, 1, 2<, 80, 0, 2<<

Mathematica5.nb

18

Eigensystem@cD 882, 1, 1<, 885, 2, 1<, 81, 0, 0<, 80, 0, 0<<<

Nota: En Mathematica todo lo que est escrito entre llaves y debidamente separado por comas es una lista, como un vector o una matriz, y responder a las propiedades de stos.

Definicin de variables y funciones


Como hemos visto con los vectores, podemos asignarle valores a las variables para as facilitarnos el trabajo. Si queremos que a partir de este momento la variable x valga 7 haremos:
x=7 7

A partir de este momento cualquier clculo que realicemos en donde intervenga la x, sta equivaldr al valor dado:
x+4 11

x^2 + x - 3 53

Es importante destacar que los valores asignados a las variables son permanentes. Una vez que se haya asignado un valor a una variable concreta, el valor permanecer hasta que no liberemos o "limpiemos" a esta variable. Por supuesto, el valor desaparecer cuando reiniciemos el ncleo o empecemos una nueva sesin de Mathematica. Para liberar a las variables bastar con
Clear@xD

O bien

Mathematica5.nb

19

x =.

Cuando definimos una funcin en Mathematica, debemos especificar el nombre de la misma y su variable independiente. Por ejemplo:
f @x_D := x^2 + 5 x

Obsrvese que esta entrada no produce una salida. Esto se debe a los dos puntos delante del signo de igualdad. Lo que hacemos al aadir los dos puntos equivale a un pequeo programa que se ejecutar cada vez que lo llamemos. En cambio, si no aadimos los dos puntos, Mathematica ejecutar la funcin inmediatamente. Notemos tambin que la variable x lleva un guin bajo "_" delante del signo igual. Esto es para que el programa entienda que se trata de una variable muda, es decir, x puede llevar cualquier nombre o valor. Es importante recordar esto para evitar posibles errores, ya que si se hubiese escrito f[x]:=x^2 se habra asignado el valor x^2 al objeto f[x] en vez de a la funcin f y no entender, por ejemplo, f[3] f[y]. Podemos calcular el valor numrico de la funcin f que hemos definido, para distintos valores de x:
f @3D 24 f @-3 2D 21 4

Tambin podemos trabajar con argumentos matriciales o simblicamente, como


vemos en los ejemplos siguientes:
Clear@aD f @aD

5 a + a2

Mathematica5.nb

20

f @a + hD

5 Ha + hL + Ha + hL2
Expand@%D

5 a + a2 + 5 h + 2 a h + h2

Funciones definidas a trozos


Las funciones definidas a trozos pueden introducirse de diferentes formas. Vemoslas con la funcin f(x)=2x, si x<=-1, f(x)=-x, si -1<x<3, f(x)=x^2-4, si x<=-1. Como usaremos el nombre f para una nueva funcin, es conveniente limpiarla antes de volver a utilizarla:
Clear@f D

Primera forma:

Los signos de menor o igual y de mayor o igual se escriben como <= y >= respectivamente. Esto define cada uno de los trozos de f, pero se puede definir toda la funcin de una vez. El ";" al final de cada lnea sirve para que, aunque se ejecuten, no produzcan salidas. Segunda forma: Usando el comando Which[]:
f @x_D := Which@x <= 1, 2 x, -1 < x < 3, -x, x >= 3, x^2 + 4D

f @x_D := 2 x ; x <= -1; f @x_D := -x ; -1 < x < 3; f @x_D := x^2 - 4 ; x >= 3;

La grfica de esta funcin (vase la seccin Representacin Grfica) es:

Mathematica5.nb

21

Plot@f @xD, 8x, -5, 5<, PlotRange -> 8-10, 10<D 10 7.5 5 2.5 -4 -2 -2.5 -5 -7.5 -10 Graphics 2 4

Hemos agregado PlotRange->{-10,10} al comando Plot[]. Con esto hacemos que represente los valores de la funcin que estn comprendidos entre los valores pedidos, es decir, los valores del recorrido comprendidos entre -10 y 10. sta y otras opciones grficas se vern con ms detalle en captulos posteriores. Nota: las lneas verticales que aparecen no forman parte de la grfica de la funcin. Para obtener una grfica donde estas verticales no aparezcan, podemos utilizar el comando Show[], pero no vamos a entrar ahora en ms detalles de los necesarios.

Clculo de lmites
Una vez que hemos aprendido a definir funciones, ya podemos manipularlas cmodamente y lo primero que vamos a aprender es a calcular lmites. Podemos calcular el valor de la funcin cos(x^2) en el punto x=0 simplemente reemplazando el valor x por 0 (no es necesario ni conveniente hacer esto para calcular lmites, pero as aprendemos a realizar sustituciones).
Cos@x^2D . x -> 0 1

Pero si hacemos esto mismo para algunas funciones especiales, como por ejemplo sen(x)/x, obtenemos una indeterminacin:

Mathematica5.nb

22

Power::infy : Infinite expression

Sin@xD x . x -> 0

1 encountered. More 0 ::indet : Indeterminate expression 0 ComplexInfinity encountered.

More

Indeterminate

Para encontrar el valor correcto al que tiende esta funcin en el punto, necesitamos tomar lmite. La orden es (tambin en la Paleta 3, BasicCalculations/Calculus) Limit[expr,xx0] Lmite de expr cuando x tiende a x0. Limit[expr,xx0,Direction1] Lmite lateral por la izquierda. Limit[expr,xx0,Direction-1] Lmite lateral por la derecha. As, haremos
Limit@Sin@xD x, x -> 0D 1

Si un lmite no existe o vale infinito, obtendremos una salida que as lo indique:


Limit@Sin@xD x^2, x -> 0D

Los lmites laterales de la funcin 1/x en el punto x=0 sern


Limit@1 x, x -> 0, Direction -> 1D Limit@1 x, x 0, Direction -1D

Curiosidad: Obsrvese qu ocurre cuando calculamos el lmite de la funcin sen(1/x) cuando x tiende a cero.

Mathematica5.nb

23

Derivacin
Para calcular la derivada de una funcin podemos utilizar los smbolos de derivadas parciales que aparecen en la paleta BasicInput o directamente alguna de las siguientes rdenes D[f[x],x] Derivada (o derivada parcial) de f con respecto a x. D[f[x],{x,n}] Derivada parcial n-sima de f con respecto a x. D[f[x1,x2,...],x1,x2,] Derivada parcial de f con respecto a x1, x2, La ltima de las tres funciones es vlida para funciones de varias variables. Dedicamos una seccin posterior al estudio de la derivacin, integracin, etc. de este tipo de funciones. Definamos una nueva funcin f y derivmosla:
Clear@fD f@x_D := x ^ 2 3 x + 4 D@f@xD, xD 3 + 2 x

Tambin es posible calcular la derivada de una funcin con f'[x]. Es ms, tambin la funcin Derivative[] sirve para el clculo de derivadas aunque la estructura es algo distinta (vase la Ayuda). Adelantamos nicamente que Derivative[1][f] equivale a f'[x].
f '@xD Derivative@1D@fD 3 + 2 x

3 + 2 #1 &

Obsrvese que la segunda salida es distinta a la segunda. En realidad se ha obtenido el mismo resultado ya que Mathematica nos est indicando con los smbolos #1& que la constante 2 va multiplicada por la primera de las variables de la funcin f. Esto se debe a que Mathematica ha transformado la orden Derivative[1][f] en D[f[#]&,{#,1}] para resolverla. As, podemos calcular la derivada primera de la funcin seno sin especificar la variable ejecutando

Mathematica5.nb

24

Derivative@1D@SinD Cos@#1D &

Podemos derivar funciones ms complicadas, incluso dependientes de varios parmetros. Definamos, por ejemplo, una funcin dependiente de dos parmetros, a y b (en caso de que a b ya hubiesen sido utilizadas antes y se les hubiese asignado valores se deberan de liberar para lo que usaramos la orden Clear[a], Clear[b] o, directamente, Clear[a,b]). La funcin y su derivada son
Clear@a, bD g@x_D = a Log@x Cos@xDD + b Sin@a b xD D@g@xD, xD a Log@x Cos@xDD + b SinA a b2 Cos@ axb D a Sec@xD HCos@xD x Sin@xDL + x2 x ab E x

Podemos simplificar haciendo:


Simplify@%D

O de esta otra manera (ver detalles de estas funciones en la Ayuda)


FullSimplify@%D a Hx b2 Cos@ axb DL a Tan@xD x2

a Hx b2 Cos@ axb D x2 Tan@xDL x2

Otras de las funciones ms frecuentes que nos encontraremos en problemas de varias variables es el clculo del vector gradiente, Grad[funcin,Cartesian[x,y,z]]. Esta orden se encuentran en el paquete Calculus`VectorAnalysis` (que tenemos que cargar previamente): Veamos un ejemplo:

Mathematica5.nb

25

f@x_, y_, z_D := x ^ 2 y ^ 3 + z << Calculus`VectorAnalysis` Grad@f@x, y, zD, Cartesian@x, y, zDD 82 x y3 , 3 x2 y2 , 1<

Integracin
Para resolver un problema de integracin, como viene siendo habitual, tenemos dos maneras de abordarlo: o bien usamos la orden Integrate[], o bien los smbolos de la paleta BasicInput. La orden Integrate[] tiene tres usos distintos: Integrate[f,x] para una primitiva de f con respecto a la variable x. Integrate[f,{x,xmin,xmax}] para la integral definida de f con respecto a x en el intervalo xmin y xmax. Integrate[f,{x,xmin,xmax},{y,ymin,ymax}] para la integral mltiple (doble) de f con respecto a x e y (se ver ms adelante). Veamos si es posible calcular la integral indefinda de g(x)=alog(xcos(x))+bsen(ab/x) (definida en la seccin anterior) con la paleta indicada y con la orden anterior:
g@xD x a x + 1 2

a x2 a b2 CosIntegralA 1 2

a x Log@x Cos@xDD +

a PolyLog@2,

ab E a x Log@1 + x
2 x

D + b x SinA

ab E x D+

D+

Integrate@g@xD, xD a x + 1 2 a x2 a b2 CosIntegralA 1 2 ab E a x Log@1 + x


2 x 2 x

a x Log@x Cos@xDD +

a PolyLog@2,

Algo feo, pero qu le vamos a hacer. Calculemos una integral impropia dependiente de un parmetro q:

D + b x SinA

ab E x

Mathematica5.nb

26

Integrate@2 * Exp@-q * x^2D, 8x, -Infinity, Infinity<D !!! 2 IfARe@qD > 0, !!! , q IntegrateA
q x2

La salida obtenida quiere decir que si la parte real de q es mayor que cero entonces la !!! ! integral es igual a 2 !!!! y, si no, no sabe hacerlo. q Tambin es posible calcular integrales numricas utilizando la orden NIntegrate[] que nos proporcionar un valor aproximado en lugar del exacto:
NIntegrate@Exp@x^2D, 8x, -2, 2<D

, 8x, , <, Assumptions Re@qD 0EE

32.9053

Probemos con la integral de g(x)=aLog(xCos(x))+bSin(ab/x)en algn intervalo razonable. Por ejemplo, podemos definir una funcin que dependa de los parmetros a y b:
funcion@a_, b_D := NIntegrate@g@xD, 8x, Pi 6, Pi 3<D

Al intentar evaluar la integral para unos valores concretos de a y b vemos que no

funciona:

NIntegrate::inum : Integrand g@xD is not numerical at 8x< = 80.785398<.

funcion@1, 2D

Por qu? Esto ocurre porque la dependencia en a y b no est explcita en g(x) y no la entendi. Para evitar estos errores definamos una funcin g2(x) que tenga tambin como variables a los parmetros a y b:
g2@x_, a_, b_D = a Log@x Cos@xDD + b Sin@a b xD a Log@x Cos@xDD + b SinA ab E x

NIntegrateAg@xD, 9x,

, =E 6 3

More

Mathematica5.nb

27

Ahora s es posible definir nuestra "funcin", ya que la dependencia en a y b es explcita:


funcion2@a_, b_D := NIntegrate@g2@x, a, bD, 8x, Pi 6, Pi 3<D funcion2@1, 2D 0.109469

Ahora evaluamos

De esta manera podemos hacerlo para otros valores de a y b:


funcion2@-1, 0D 0.330295

El smbolo ":=" es ms que una asignacin. Si nos damos cuenta, adems de servir como asignacin, hace que la operacin definida no sea ejecutada inmediatamente sino cuando se le llame ms adelante. O sea, es como un pequeo programa que luego ser ejecutado.

Funciones de varias variables: derivacin parcial e integracin mltiple


Vamos a profundizar en algunos de los conceptos que hemos estudiado hasta el momento (clculo de lmites, integracin y derivacin), pero ahora centrndonos en funciones de varias variables. Apreciaremos que las funciones a utilizar son las mismas, pero que habr que aadir algn argumento ms. Tomemos la funcin de dos variables f(x,y)=2xy+sen(2x-3y^2) y realicemos algunas operaciones con ella. Es muy conveniente limpiar antes la "f" si ya se haba definido anteriormente. Empecemos calculando los lmites unidimensionales y reiterados en el punto (x,y)=(0,0):

Mathematica5.nb

28

f @x_, y_D := 2 * x * y + Sin@2 x - 3 y^2D


f1@y_D = Limit@f @x, yD, x -> 0D

f2@x_D = Limit@f @x, yD, y -> 0D Sin@3 y2 D Sin@2 xD

Los lmites reiterados son entonces


Limit@f2@yD, y -> 0D Limit@f1@xD, x -> 0D

Con respecto a las derivadas parciales de primer orden tenemos


D@f @x, yD, xD D@f @x, yD, yD

2 y + 2 Cos@2 x 3 y2 D

Y las de segundo orden (vase la seccin sobre Derivacin)

2 x 6 y Cos@2 x 3 y2 D

Mathematica5.nb

29

D@f @x, yD, 8x, 2<D D@f @x, yD, 8y, 2<D D@f @x, yD, x, yD D@f @x, yD, y, xD

4 Sin@2 x 3 y2 D

6 Cos@2 x 3 y2 D 36 y2 Sin@2 x 3 y2 D 2 + 12 y Sin@2 x 3 y2 D 2 + 12 y Sin@2 x 3 y2 D

Para orden superior D[f[x,y],x,x,x,...]:


D@f @x, yD, 8x, 5<D

podemos

usar

bien

D[f[x,y],{x,n}]

bien

32 Cos@2 x 3 y2 D 32 Cos@2 x 3 y2 D

D@f @x, yD, x, x, x, x, xD

Finalmente, si queremos calcular la integral doble 1 0 f Hx, yL y x, haremos


2 3

Integrate@f @x, yD, 8x, 1, 2<, 8y, 0, 3<D 1 6

Simplify@%D 1 6

i i yy j 6 6 j81 !!!!!!! Sin@1D jCos@3D FresnelSA3 $%%%%%% E FresnelCA3 $%%%%%% E Sin@3Dzz j zz j j zz 6 j j zz j j zz k k {{ i i yy j 6 6 j81 !!!!!!! Sin@1D jCos@3D FresnelSA3 $%%%%%% E FresnelCA3 $%%%%%% E Sin@3Dzz j zz j j zz 6 j j zz j j zz k k {{

Veamos si con una aproximacin numrica obtenemos algo ms legible:

Mathematica5.nb

30

N@%D 13.8634

Este resultado se poda haber obtenido directamente utilizando la integracin numrica con la orden NIntegrate[].
2 x2 1 x x

Para los casos en los que el recinto de integracin no es rectangular como, por ejemplo, y y x haremos
Integrate@x y, 8x, 1, 2<, 8y, x, x^2<D 27 8

Series
En esta seccin vamos a distinguir entre dos problemas bien distintos: calcular la suma de una serie conocida y generar la serie de potencias de una funcin conocida en un punto dado. Para calcular la suma de una serie usaremos
imax evala i=1 f evala imax f i=imin evala i f donde i = imin, imin+di, imin+2di,..., imax. Sum[f,{i,imin,imax},{j,jmin,jmax}] evala imax jmax f i=imin j=jmin

Sum[f,{i,imax}] Sum[f,{i,imin,imax}] Sum[f,{i,imin,imax,di}]

Por ejemplo,

Sum@1 n, 8n, 10<D 7381 2520

Sum@a ^ 2 - 3 a + 7, 8a, 2, 18, 2<D 933

Mathematica5.nb

31

Sum@1 Ha + bL, 8a, 6<, 8b, 10<D 1946843 240240

N@%D 8.10374

Para generar la serie de potencias de una funcin dada usamos: Series[f,{x,x0,n}] genera la serie de potencias (desarrollo de Taylor) de f en el punto x=x0 de orden n (incluido el resto). SeriesCoefficient[serie,n] coeficiente del n-simo trmino de serie. Calculemos el polinomio de Taylor de orden tres en el punto x=0 de f(x)=sen(x), 2 g(x)=ln(x+1) y h(x)=ex +1 :
Series@Sin@xD, 8x, 0, 3<D x x3 + O@xD4 6 Series@Log@x + 1D, 8x, 0, 3<D x x2 x3 + + O@xD4 2 3 Series@Exp@x^2 + 1D, 8x, 0, 3<D + x2 + O@xD4
senHx^3-2 El coeficiente del trmino 20 de la serie de potencias de la funcin f(x)= xL x+2 en el punto x=3 es

SeriesCoefficient@Series@Sin@x^3 - 2 xD Hx + 2L, 8x, 3, 50<D, 20D;

Mathematica5.nb

32

N@%D
2.96413 109

Ecuaciones diferenciales
Para las ecuaciones o sistemas de ecuaciones diferenciales, el procedimiento es anlogo a las algebraicas. Resolvamos la ecuacin diferencial de variable separadas y'=2xy. En primer lugar podemos (aunque no es necesario) definir la ecuacin diferencial a resolver:
Eq1 = D@y@xD, xD 2 x y@xD y @xD 2 x y@xD

Tambin es posible definir la ecuacin anterior como y'[x]==2 x y. De nuevo nos aparece un ejemplo donde se distinguen los significados tan distintos que tienen el signo de igualdad y el doble signo de igualdad. Una vez hecho esto, podemos pasar a resolverla como sigue:
DSolve@Eq1, y@xD, xD 99y@xD
x2

C@1D==

En caso de que queramos indicarle valores iniciales para obtener una solucin particular, se aade como una nueva ecuacin entre llaves de la siguiente manera:
DSolve@8Eq1, y@0D 1<, y@xD, xD 99y@xD
x2

La funcin NDSolve[] ya debemos intuir cundo podemos y debemos utilizarla para ecuaciones diferenciales ordinarias, as como para poder lograr la resolucin de sistemas de ecuaciones diferenciales.

==

Mathematica5.nb

33

Representacin grfica
Representacin grfica en 2D Como ya habamos anticipado, para la representacin grfica de funciones de una variable debemos usar el comando Plot[funcin,{x,xmin,xmax}] (tambin en la paleta BasicCalculations/Graphics) donde x es la variable independiente y xmin y xmax son los extremos del intervalo del dominio de la funcin que deseamos representar. Por ejemplo:
Plot@x^2 + 5 x, 8x, -7, 7<D

50 40 30 20 10

-6 Graphics

-4

-2

Representemos grficamente otra funcin:


Plot@g@xD, 8x, -10, 14<D g@x_D := x^3 - 7 x^2 + 6 x + 4

40 20

-10

-5 -20 -40 -60

10

Graphics

Mathematica5.nb

34

Observemos que Mathematica realiza el grfico con distintas escalas en ambos ejes. Para que tome la misma unidad en los ejes, se debe agregar la orden AspectRatio->Automatic (esta opcin se ver con profundidad en la prxima seccin) como vemos en el siguiente ejemplo:
Plot@g@xD, 8x, -10, 14<, AspectRatio AutomaticD 40 20

-105 510 -20 -40 -60

Graphics

Como vemos, la grfica de la funcin ahora es ms real, aunque hay detalles que no se aprecian con suficiente nitidez. Por tanto, es importante decidir cundo usar la orden AspectRatio->Automatic y cundo dejar que Mathematica decida cul es la escala ms conveniente. Observacin: Despus de cada grfico, Mathematica imprime -Graphics-. Para evitar que se produzca este mensaje, se puede agregar al final de la lnea del comando Plot un punto y coma. Podemos pedir que represente ambas funciones en el mismo dibujo; para ello, usamos el comando Plot, pero como primer argumento usaremos ahora una lista de funciones:

Mathematica5.nb

35

Plot@8x^2 + 5 x, g@xD<, 8x, -7, 7<D

40 20

-6

-4

-2 -20 -40 -60

Graphics

Existe otra manera de superponer grficas; consiste en asignarle a cada una un nombre y usar el comando Show[] como se muestra en el siguiente ejemplo:
bb = Plot@Sin@xD + 3, 8x, -2 Pi, 2 Pi<D 1 0.5 aa = Plot@Cos@xD, 8x, -Pi, Pi<D

dd = Show@aa, bb, ccD

cc = Plot@x^2 + 3, 8x, -Pi, Pi<D

-3

-2

-1 -0.5 -1

Graphics

Mathematica5.nb

37

Show@GraphicsArray@8aa, bb, cc<DD 1 0.5 -3-2-1 1 2 3 -0.5 -1 GraphicsArray 4 3.5 3 2.5 -6 -2 -4 246 12 10 8 6 -3-2-1 1 2 3

Si los queremos en columna:


Show@GraphicsArray@88aa<, 8bb<, 8cc<<DD 1 0.5 -3 -2 -1 -0.5 -1 4 3.5 3 2.5 -6 -4 -2 12 10 8 6 -3 -2 -1 GraphicsArray 1 2 3 2 4 6 1 2 3

Si queremos los cuatro grficos en dos columnas:

Show@GraphicsArray@88aa, bb<, 8cc, dd<<DD

Mathematica5.nb

39

<< Graphics`Graphics`

Es importante tener en cuenta que es conveniente cargarlo antes de pedir un grfico en polares, ya que si no se produce un error. La diferencia entre las dos formas de cargarlo consiste en que si lo hacemos mediante el comando Needs[] no vuelve a cargarlo si el paquete ya ha sido cargado anteriormente, con el consiguiente ahorro de memoria en la mquina. Representemos la funcin g(t) = sen(2t) en coordenadas polares.
PolarPlot@Sin@2 tD * Cos@t^2D, 8t, 0, 2 Pi<D 0.6 0.4 0.2 -0.75 -0.5 -0.25 -0.2 -0.4 -0.6 -0.8 Graphics 0.25 0.5 0.75

Grficos de funciones expresadas en forma paramtrica


En este caso no hay que cargar previamente paquete alguno. El comando es ParametricPlot[{x[t],y[t]},{t,tmin,tmax}] donde x[t] e y[t] son las expresiones de x e y en funcin del parmetro t. Por ejemplo, representemos la funcin (x(t),y(t))=(t^2-2,t^2+2t) donde el parmetro t vara en el intervalo (-8,8):

Mathematica5.nb

40

ParametricPlot@8t^2 - 2 + Tan@tD, t^2 + 2 t<, 8t, -15, 15<D 140 120 100 80 60 40 20 -50 Graphics 50 100 150 200

Grficos de funciones implcitas


En esta ocasin s es necesario cargar previamente el paquete correspondiente:
Needs@"Graphics`ImplicitPlot`"D ImplicitPlot@x^2 + 3 y^2 - 2 0, 8x, -2, 2<D 0.75 0.5 0.25 -1 -0.5 -0.25 -0.5 -0.75 Graphics 0.5 1

Nota: obsrvese que el primer argumento de ImplicitPlot[] es una ecuacin. Es por esto por lo que hemos debido de aadir el doble signo de igualdad en la ecuacin.

Mathematica5.nb

41

Grficas de inecuaciones
Para estudiar optimizacin con restricciones necesitaremos saber, por ejemplo, cmo se dibujan regiones en el plano. Estas regiones vienen definidas por inecuaciones y para su representacin grfica utilizaremos el comando InequalityPlot[inecuaciones, {x,xmin,xmax},{y,ymin,ymax}]. Esta funcin se encuentra en el paquete Graphics`InequalityGraphics` que debemos cargar previamente:
InequalityPlot@ 1 Hx - 2 yL3 + 4 y 4, 8x, -3, 3<, 8y, -3, 3< D 2 << Graphics`InequalityGraphics`

-3

-2

-1 -1

-2

Graphics

InequalityPlot@ 1 < x2 + y2 < 4 x y < 1 x > 0 y > 0, 8x, -2, 3<, 8y, -2, 2< D; 2

1.5

0.5

0.5

1.5

Mathematica5.nb

43

ListPlot@tablaD; 8 7 6 5 4 3 2 2 3 4 5 6

Si queremos mostrar los puntos unidos por segmentos, agregamos la siguiente opcin:
ListPlot@tabla, PlotJoined TrueD 8 7 6 5 4 3 2 2 Graphics 3 4 5 6

Puede agregarse una malla:

Mathematica5.nb

44

ListPlot@tabla, PlotJoined True, GridLines AutomaticD 8 7 6 5 4 3 2 2 Graphics 3 4 5 6

Observacin: el programa acomoda los ejes coordenados de forma que los datos sean fcilmente visibles, pero esto puede no responder a la posicin real de esos puntos. Para obtener una visualizacin ms fiel usamos el comando AxesOrigin->{0,0}, que ubica los ejes en su posicin normal:
ListPlot@tabla, PlotJoined True, GridLines Automatic, AxesOrigin 80, 0<D 8 7 6 5 4 3 2 1 1 Graphics 2 3 4 5 6

Tambin puede pedirse la misma escala en ambos ejes mediante la opcin AspectRatio->Automatic:

Mathematica5.nb

45

ListPlot@tabla, PlotJoined True, GridLines Automatic, AxesOrigin 80, 0<, AspectRatio -> AutomaticD; 8 7 6 5 4 3 2 1 1 2 3 4 5 6

Esta grfica puede servir de ayuda en el caso en que deseemos interpolar y queramos aproximar las coordenadas de un punto intermedio. Para ello, marquemos el grfico (un click encima del grfico) y, posicionando el cursor sobre l, presionemos la tecla Ctrl. As Mathematica mostrar en la parte inferior izquierda de la pantalla las coordenadas aproximadas del punto que sealemos en la grfica. Es importante tener en cuenta que es necesario, para que las coordenadas obtenidas sean correctas, que el origen de coordenadas est en (0,0) (esta observacin tambin es vlida para el resto de representaciones grficas en 2D). Opciones grficas Cuando Mathematica realiza un grfico, tiene que elegir cmo realizar la representacin grfica (escalas, ejes, origen, color, grosor de lnea, etc). En muchas de las ocasiones, Mathematica probablemente har una buena eleccin. No obstante, si se desea cambiar algunas de estas opciones se pueden utilizar las rdenes que veremos en esta seccin. Como ltimo argumento del comando, por ejemplo Plot[], se puede incluir una secuencia de rdenes del tipo nombre->valor, para especificar el valor de varias de las opciones grficas. A cada opcin que no asignemos un valor explcito, Mathematica le asignar un valor por defecto. Una orden como Plot[] tiene muchas opciones que podemos modificar. Algunas de las que veremos son las siguientes:

Mathematica5.nb

46

Opcin AspectRatio Axes AxesLabel

Valor por defecto 1/GoldenRatio Automatic None

Descripcin Proporcin alto-ancho; el valor Automatic asigna la misma unidad de medida en ambos ejes. Para incluir los ejes coordenados. Incluye etiquetas en los ejes; el valor ylabel especifica una etiqueta para el eje oy, y {xlabel,ylabel} para ambos ejes. Punto de corte de los ejes (origen). Estilo para el texto de la grfica. Formato usado por defecto para el texto de la grfica. Enmarca o no el grfico. Etiquetas alrededor del marco; una lista de como mximo 4 elementos etiqueta en el sentido de las agujas del reloj empezando por el eje x. Muestra una regla en cada lado del marco; el valor None no muestra las reglas. Muestra una malla para cada valor de la regla del marco; el valor Automatic incluye el las lneas para la mayora de las marcas. Etiqueta para el grfico. Especifica la parte del recorrido que se desea mostrar; el valor All incluye todos los puntos (si es posible). Si existen los ejes, los muestra reglados; el valor None no muestra las marcas. Un valor especifica el ancho del grfico; {n,m} especifica el ancho y el alto. Opciones para el fondo del grfico (GrayLevel, Hue, RGBColor...).

AxesOrigin TextStyle FormatType Frame FrameLabel

Automatic $TextStyle StandardForm False None

FrameTicks GridLines

Automatic None

PlotLabel PlotRange

None Automatic

Ticks ImageSize Background

Automatic Automatic Automatic

Un ejemplo con todos los valores por defecto es:


Plot@Sin@x^2D, 8x, 0, 3<D;

Mathematica5.nb

47

0.5

0.5 -0.5

1.5

2.5

-1 Plot@Sin@x^2D, 8x, 0, 3<, Frame TrueD; 1 0.5 0 -0.5 -1 0 0.5 1 1.5 2 2.5 3

A continuacin especificamos unas etiquetas para cada uno de los ejes. Las etiquetas aparecern tal como apareceran en una salida de Mathematica. Las etiquetas pueden incluir texto escribindolo entre comillas.
Plot@Sin@x^2D, 8x, 0, 3<, AxesLabel 8"eje de abscisas", "Sin@x^2D"<D; Sin@x^2D 1 0.5 0.5 1 1.5 2 2.5 3 -0.5 -1 eje de abscisas

Mathematica5.nb

48

Para la malla:
Plot@Sin@x^2D, 8x, 0, 3<, Frame True, GridLines AutomaticD; 1 0.5 0 -0.5 -1

0.5

1.5

2.5

Con la opcin AspectRatio se puede cambiar la forma completa de la grfica. Como dijimos antes, AspectRatio mide la razn o proporcin del ancho con respecto a la altura. El valor por defecto es el inverso del nmero de oro (Golden Ratio) que se supone la mejor forma !!! para la esttica de un rectngulo. El nmero de oro vale (1+ 5 )/2 1.61803.
Plot@Sin@x^2D, 8x, 0, 3<, AspectRatio 1D; 1

0.5

0.5

1.5

2.5

-0.5

-1

Algunos de los valores ms usuales para varias de las opciones vistas hasta ahora son

Mathematica5.nb

50

Valor por defecto Automatic Estilo de la lnea o puntos de la grfica. 25 Nmero mnimo de puntos para ser evaluados y realizar la grfica. MaxBend 10 ngulo mximo del pliegue entre sucesivos segmentos de la curva. PlotDivision 30 Valor mximo en el que subdividir la representacin de la grfica. Si incrementamos el nmero de puntos con PlotPoints, podemos hacer que Mathematica evale la funcin en un nmero mayor de puntos. Pero parece lgico pensar que, mientras mayor sea el nmero de puntos, mayor ser el tiempo que necesite Mathematica para representarla, aunque a su vez la curva ser ms suave. Podemos obtener informacin de todas las opciones (con sus correspondientes valores por defecto) de las que dispone una funcin, como por ejemplo Plot[], mediante la orden Options[]:
Options@PlotD 9AspectRatio 1 , Axes Automatic, GoldenRatio AxesLabel None, AxesOrigin Automatic, AxesStyle Automatic, Background Automatic, ColorOutput Automatic, Compiled True, DefaultColor Automatic, DefaultFont $DefaultFont, DisplayFunction $DisplayFunction, Epilog 8<, FormatType $FormatType, Frame False, FrameLabel None, FrameStyle Automatic, FrameTicks Automatic, GridLines None, ImageSize Automatic, MaxBend 10., PlotDivision 30., PlotLabel None, PlotPoints 25, PlotRange Automatic, PlotRegion Automatic, PlotStyle Automatic, Prolog 8<, RotateLabel True, TextStyle $TextStyle, Ticks Automatic=

Opcin PlotStyle PlotPoints

Si queremos saber el valor por defecto de una sola de las opciones haremos algo parecido:
Options@Plot, AspectRatioD 9AspectRatio 1 = GoldenRatio

Mathematica5.nb

52

Plot@8x^2, x^3<, 8x, -3, 3<, PlotStyle 88Hue@1, 0.75, 0.5D<, 8Hue@0.25, 0.5, 0.75D<<D 4 3 2 1 -3 -2 -1 -1 -2 Graphics 1 2 3

Cuando especificamos una opcin grfica como RGBColor[], sta afecta a todos los elementos grficos que aparecen en una lista. Mathematica tambin dispone de opciones grficas que son especficas a algunos tipos de grficos: La opcin PointSize[d] sirve para que todos los puntos del grfico los represente como un crculo de diametro d. Con PointSize, el diametro d est medido en proporcin al ancho de todo el grfico. Mathematica tambin permite la opcin AbsolutePointSize[d], que especifica el diametro absoluto de los puntos, medidos en unidades fijas. PointSize@ d D todos los puntos con dimetro d en proporcin al ancho del grfico completo. todos los puntos con dimetro d en unidades absolutas.

AbsolutePointSize@ d D

Aqu vemos cmo construir una lista con seis puntos de dos coordenadas:
Table@8n, Prime@nD<, 8n, 6<D

Mostramos cada punto con dimetro igual a un 10% del ancho del grfico.

881, 2<, 82, 3<, 83, 5<, 84, 7<, 85, 11<, 86, 13<<

Mathematica5.nb

53

ListPlot@%, PlotStyle PointSize@0.1DD

12 10 8 6 4 2 Graphics 3 4 5 6

En el siguiente grfico, cada punto tiene un tamao de 3 "unidades absolutas":


ListPlot@Table@Prime@nD, 8n, 20<D, Prolog AbsolutePointSize@3DD 70 60 50 40 30 20 10 5 Graphics 10 15 20

Algunas de las opciones grficas para la orden (Line[{punto1,punto2}] une con un segmento rectilneo ambos puntos) son:

Line[]

Mathematica5.nb

54

AbsoluteDashing@ 8 w1 , w2 , < D Veamos un ejemplo:

AbsoluteThickness@ w D Dashing@ 8 w1 , w2 , < D

Thickness@ w D

todas las lneas con grosor w, en proporcin al ancho del grfico. todas las lneas con grosor w en unidades absolutas muestra todas las lneas como una sucesin de segmentos discontinuos, con medidas w1, w2, usa unidades absolutas para la longitud de los segmentos discontinuos.

Plot@x^2, 8x, -2, 2<, PlotStyle 8Thickness@.02D, Dashing@8.005, .03<D<D 4 3 2 1

-2 Graphics

-1

Lo siguiente genera (pero no representa) una lista de lneas de diferentes grosores:


Table@8Thickness@n 50D, Line@880, 0<, 8n, 1<<D<, 8n, 4<D 99ThicknessA 1 50 1 9ThicknessA 25 3 9ThicknessA 50 2 9ThicknessA 25

Y ahora las mostramos:

E, Line@880, 0<, 84, 1<<D==

E, Line@880, 0<, 83, 1<<D=,

E, Line@880, 0<, 82, 1<<D=,

E, Line@880, 0<, 81, 1<<D=,

Mathematica5.nb

55

Show@Graphics@%DD

Graphics Table@8AbsoluteThickness@nD, Line@880, 0<, 8n, 1<<D<, 8n, 4<D 88AbsoluteThickness@1D, 8AbsoluteThickness@2D, 8AbsoluteThickness@3D, 8AbsoluteThickness@4D, Show@Graphics@%DD Line@880, Line@880, Line@880, Line@880, 0<, 0<, 0<, 0<,

81, 82, 83, 84,

1<<D<, 1<<D<, 1<<D<, 1<<D<<

Graphics

La orden Dashing nos permite crear lneas con distintos tipos de segmentos. La idea es romper la lnea en segmentos que son dibujados y omitidos alternativamente. Cambiando la medida de los segmentos se obtienen lneas de diferentes estilos. Dashing nos permite tam-

Mathematica5.nb

56

bin especificar una sucesin de medidas para los elementos. Esta sucesin se repite tantas veces como sea necesaria hasta representar la lnea completa.
Show@Graphics@8Dashing@80.05, 0.05<D, Line@88-1, -1<, 81, 1<<D<DD

Graphics

Ahora con lneas y puntos:


Show@Graphics@8Dashing@80.01, 0.05, 0.05, 0.05<D, Line@88-1, -1<, 81, 1<<D<DD

Graphics

Otra manera de usar las opciones grficas es insertarlas directamente en una lista. No obstante, algunas veces queremos que las opciones se apliquen de manera ms global y, por ejemplo, determinar el estilo global en toda la sesin de trabajo independientemente de cmo sean algunas opciones grficas particulares. Algunas opciones para especificar el estilo de forma general son:

Mathematica5.nb

57

PlotStyle > style PlotStyle > 8 8 style1 < , 8 style2 < , <

especifica un estilo para ser usado en todas las curvas dibujadas con Plot. especifica estilos para ser usados cclicamente para una sucesin de curvas en Plot. especifica un estilo para ser usado en una malla en grficos de superficie y densidad. especifica un estilo para ser usado por la caja en grficos 3 D, segn veremos.

MeshStyle > style BoxStyle > style

Veamos un ejemplo en el cual la curva est representada en un estilo especfico:


Plot@Sin@xD, 8x, 0, 10<, PlotStyle 88Thickness@0.02D, GrayLevel@0.5D<<D 1 0.5

2 -0.5 -1 Graphics

10

Y algunos estilos son: GrayLevel@0.5D RGBColor@1, 0, 0D, etc. Thickness@0.05D Dashing@80.05, 0.05<D Dashing@80.01, 0.05, 0.05, 0.05<D gris rojo, etc. grueso discontinuo punto-segmento

Mathematica tambin permite modificar otros aspectos del grfico:

Background > DefaultColor > Prolog Epilog

color color > g > g

especifica el color del fondo especifica el color por defecto del grfico proporciona un grfico antes de que Plot haya finalizado proporciona grficos despus de que Plot haya finalizado

Mathematica5.nb

58

Plot@Sin@Sin@xDD, 8x, 0, 10<, Background GrayLevel@0.6DD 0.75 0.5 0.25 2 4 6 8 10

-0.25 -0.5 -0.75

Graphics Plot@Sin@Sin@xDD, 8x, 0, 10<, Background GrayLevel@0.6D, Prolog Hue@.5DD 0.75 0.5 0.25 2 4 6 8 10

-0.25 -0.5 -0.75

Graphics

Mathematica5.nb

59

Plot@Sin@Sin@xDD, 8x, 0, 10<, Background GrayLevel@0.6D, Epilog Dashing@80.05, 0.05<DD 0.75 0.5 0.25 2 4 6 8 10

-0.25 -0.5 -0.75

Graphics

Cambiamos el color por defecto a blanco: Show@%, DefaultColor GrayLevel@1DD

0.75 0.5 0.25 2 -0.25 -0.5 -0.75 4 6 8 10

Graphics

Representacin grfica en 3D La orden Plot3D[f,{x,xmin,xmax},{y,ymin,ymax}] realiza representaciones grficas en tres dimensiones.

Plot3D@Sin@2 x yD, 8x, 0, 3<, 8y, 0, 3<D

1 0.5 0 -0.5 -1 0 1 2 30 1

3 2

Mathematica5.nb

61

En la siguiente tabla mostramos algunas de las anteriores. Muchas de las opciones que aparecen en la siguiente tabla son anlogas a otras ya vistas para grficos en 2D. Valor por defecto Descripcin True incluye los ejes. None etiqueta los ejes; zlabel etiqueta el eje z y {xlabel, ylabel, zlabel} etiqueta todos los ejes. Boxed True encierra el grfico 3D en una caja. ColorFunction Automatic colores para ser usados; Hue[] usa una sucesin de tonos. TextStyle $TextStyle estilo por defecto para el texto. FaceGrids None malla sobre las caras de la caja; All dibuja una malla en cada cara. HiddenSurface True representa la superficie como un slido. Lighting True simula focos de luz sobre la superficie. Mesh True malla sobre la superficie. PlotRange Automatic especifica un rango en las coordenadas; puede ser All, {zmin, zmax} o {{xmin, xmax}, {ymin, ymax}, {zmin, zmax}}. Shading True colorea la superficie. ViewPoint {1.3, -2.4, 2} punto en el espacio desde el que se ve la superficie. PlotPoints 25 nmero de puntos en cada direccin a evaluar; {nx,ny} especifica nmeros diferentes en cada eje. Veamos algunos ejemplos ms:
Plot3D@10 Sin@xD + Sin@x yD, 8x, -10, 10<, 8y, -10, 10<, PlotPoints 50D

Opcin Axes AxesLabel

10 5 0 -5 -10 -10 -5 0 5 10 -10 -5

10 5 0

Plot3D@Sin@2 x yD, 8x, 0, 3<, 8y, 0, 3<D

3 2 0 1 2 30 1

g = Plot3D@Exp@-Hx + y^2LD, 8x, -2, 2<, 8y, -2, 2<D

3 2 1 0 -2 -1 0 1 2 -2 -1 1 0

Show@g, Shading

Plot3D@8Sin@2 x yD, GrayLevel@x 3D<, 8x, 0, 3<, 8y, 0, 3<D

1 0.5 0 -0.5 -1 0 1 2 30 1

3 2

Mathematica5.nb

68

p = 82, 0, 1< v = 83, 1, 1< ParametricPlot3D@p + v, 8, 2, 3<D 82, 0, 1< 83, 1, 1<

2 0 -2 0 2 5 10 Graphics3D -2 0

Y ahora el plano que pasa por p=(2,0,-1) en la direccin de v=(3,1,1) y de w=(1,-3,0):

w = 81, 3, 0< ParametricPlot3D@p + v + w, 8, 5, 5<, 8, 5, 5<D 81, 3, 0<

2.5 0 -2.5 -5 0 -10 0 10 20 -10 -20

20 10

InequalityPlot3D@ x2 + y2 + z2 1 x2 + z2 0.5, 8x<, 8y<, 8z<D; 1 0.5 0 -0.5 -1 0.5 0 -0.5 -0.5 0 0.5

Mathematica5.nb

71

Media geomtrica Media armnica Cuantiles n (entre 0 y 1) Cuartiles Rango Varianza Cuasivarianza Desviacin estndar Cuasidesviacin estndar Coeficiente de variacin Momento central de orden n Coeficiente de asimetra Coeficiente de Curtosis

GeometricMean[] HarmonicMean[] Quantile[datos,n] Quartiles[] SampleRange[] VarianceMLE[] Variance[] StandardDeviationMLE[] StandardDeviation[] CoefficientOfVariation[] CentralMoment[datos,n] Skewness[] KurtosisExcess[]

As, para nuestro ejemplo, la media, moda, mediana, el percentil 34, los cuartiles, la desviacin estndar y el momento central de orden 3 son:
Mean@datosD Mode@datosD Median@datosD Quantile@datos, 0.34D Quartiles@datosD StandardDeviationMLE@datosD CentralMoment@datos, 3D 6.14

5.25

3. 83, 5.25, 8.9< 4.4996

104.745

Mathematica5.nb

72

En el caso de que nuestra variable sea bidimensional y queramos realizar una regresin (lineal, cuadrtica o de cualquier otro tipo) y una correlacin, deberemos cargar previamente el paquete Statistics`LinearRegression`. A continuacin, en primer lugar, introducimos los datos y, por ltimo, utilizamos una de las dos siguientes funciones: Regress[datos,{1,f1(x),f2(x),...},x] o bien Fit[datos,{f1(x),f2(x),...},x]. A continuacin introducimos los datos de la variable bidimensional (X,Y) como una lista de puntos en el plano:
<< Statistics`LinearRegression` datos2 = 881, 1<, 81.2, 1.5<, 82, 1.8<, 82.1, 2<, 82.5, 3<, 83, 6<<

En el caso de que queramos realizar una regresin lineal haremos:


Regress@datos2, 81, x<, xD
9ParameterTable 1 x Model Error Total DF 1 4 5

881, 1<, 81.2, 1.5<, 82, 1.8<, 82.1, 2<, 82.5, 3<, 83, 6<<

Estimate 1.53514 2.07719

SE 1.22479 0.587242

TStat 1.25339 3.5372

PValue 0.278327 , 0.0240741

RSquared 0.757748, AdjustedRSquared 0.697186, EstimatedVariance 0.997774, ANOVATable SumOfSq 12.4839 3.99109 16.475 MeanSq 12.4839 0.997774 FRatio 12.5118 PValue 0.0240741 =

O bien:
Fit@datos2, 81, x<, xD

1.53514 + 2.07719 x

La diferencia entre Regress[] y Fit[] es evidente. Mientra que Fit[] nos proporciona la recta de regresin de Y en funcin de X, la orden Regress[] realiza un estudio ms completo y nos proporciona adems el coeficiente de determinacin (RSquared->0.757748) y, entre otras cosas, la tabla del anlisis de la varianza (ANOVA). Si, por ejemplo, nos interesa ms una regresin cuadrtica, bastar con aadir a la lista de funciones el trmino x^2:

Mathematica5.nb

73

Regress@datos2, 81, x, x^2<, xD


9ParameterTable 1 x x2 Estimate 4.63568 5.17166 1.85868

SE 1.25777 1.39881 0.354499

TStat 3.68564 3.69718 5.24312

PValue 0.0346212 , 0.034345 0.0135071

RSquared 0.976164, AdjustedRSquared 0.960274, EstimatedVariance 0.130897, ANOVATable Model Error Total DF 2 3 5 SumOfSq 16.0823 0.392692 16.475 MeanSq 8.04115 0.130897 FRatio 61.431 PValue 0.00367993 =

de donde obtenemos que la parbola que mejor se ajusta es Y=4.63568-5.17166X+1.85868X^2 con un coeficiente de determinacin R^2=0.976164. En el caso de que el ajuste que deseemos sea, por ejemplo, exponencial, bastar con:
Regress@datos2, 81, Exp@xD<, xD
9ParameterTable 1
x

Estimate 0.0883523 0.274219

SE 0.339534 0.0316264

TStat 0.260217 8.67056

PValue 0.807543 , 0.000973643

RSquared 0.949481, AdjustedRSquared 0.936852, EstimatedVariance 0.208074, ANOVATable Model Error Total DF 1 4 5 SumOfSq 15.6427 0.832296 16.475 MeanSq 15.6427 0.208074 FRatio 75.1786 PValue 0.000973643 =

O un ajuste hiperblico:

Mathematica5.nb

74

Regress@datos2, 81, 1 x<, xD 9ParameterTable 1


1 x

Estimate 5.46902 4.9435

SE 1.51611 2.37632

TStat 3.60728 2.08032

PValue 0.0226113, 0.105985

RSquared 0.519676, AdjustedRSquared 0.399595, EstimatedVariance 1.97833, ANOVATable Model Error Total DF 1 4 5 SumOfSq 8.56166 7.91334 16.475 MeanSq 8.56166 1.97833 FRatio 4.32771 PValue 0.105985 =

Clculo de Probabilidades Para los casos en los que queramos manejar algn modelo de distribucin de probabilidad, debemos cargar previamente el paquete Statistics`ContinuousDistributions` o bien Statistics`DiscreteDistributions` dependiendo de si nuestro modelo corresponde a una variable continua o discreta, respectivamente. As, si queremos definir una variable Normal de media 3 y desviacin tpica 1 haremos:
<< Statistics`ContinuousDistributions` dist = NormalDistribution@3, 1D NormalDistribution@3, 1D

La funcin de densidad de probabilidad de esta distribucin en un punto x cualquiera (de su dominio) es PDF[dist,x] (Probability Density Function), cuya grfica podemos representar:

Mathematica5.nb

75

Plot@PDF@dist, xD, 8x, 0, 6<D 0.4 0.3

0.2

0.1

1 Graphics

El valor de la funcin de distribucin en el punto x de su dominio es CDF[dist,x]. Esta funcin tambin podemos representarla:
Plot@CDF@dist, xD, 8x, -10, 10<D

1 0.8 0.6 0.4 0.2

-10 Graphics

-5

10

Una vez definida la distribucin, podemos analizarla con muchas de las funciones introducidas en la seccin anterior:

Mathematica5.nb

76

Domain@distD Mean@distD Variance@distD Skewness@distD Random@distD Interval@8, <D

2.77339

Obsrvese que hemos utilizado dos rdenes nuevas que no habamos visto hasta ahora. stas son Domain[] y Random[]. La primera nos calcula el dominio de la distribucin dist y la segunda genera un nmero aleatorio segn la distribucin dist (luego cada vez que la ejecutemos nos proporcionar una nmero distinto). Para el caso de las distribuciones discretas, ya hemos comentado que se debe cargar el paquete Statistics`DiscreteDistributions` donde se encuentran cargadas las distribuciones discretas ms importantes, como: BinomialDistribution[n,p] GeometricDistribution[p] HypergeometricDistribution[n,n1,n2] NegativeBinomialDistribution[n,p] PoissonDistribution[m] Por ejemplo: Distribucin binomial. Distribucin geomtrica. Distribucin hipergeomtrica. Distribucin binomial negativa. Distribucin de Poisson.

Mathematica5.nb

77

<< Statistics`DiscreteDistributions` dist2 = BinomialDistribution@10, 0.3D Domain@dist2D Mean@dist2D Variance@dist2D Plot@CDF@dist2, xD, 8x, -1, 10<D

BinomialDistribution@10, 0.3D 80, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10< 3.

2.1

1 0.8 0.6 0.4 0.2

2 Graphics

10

Inferencia Estadstica Finalizamos el captulo con otro breve comenteario sobre la Inferencia Estadstica. Destacamos dos de los paquetes ms importantes que posee Mathematica dentro de esta rama. En primer lugar, para calcular los intervalos de confianza usaremos el paquete Statistics`ConfidenceIntervals` y para los contrastes de hiptesis cargaremos previamente Statistics`HypothesisTests`. Podemos calcular un intervalo de confianza para la media (con un nivel de confianza, por defecto, del 95%) de unos datos que suponemos aleatorios y distribuidos normalmente (tambin se supone la varianza desconocida) con la siguiente secuencia de rdenes:

Mathematica5.nb

78

<< Statistics`ConfidenceIntervals` datos3 = 876, 73, 75, 73, 74, 74, 74, 74, 74, 77, 74, 72, 75, 76, 73, 71, 73, 80, 75, 75, 68, 72, 78, 74, 75< 876, 73, 75, 73, 74, 74, 74, 74, 74, 77, 74, 72, 75, 76, 73, 71, 73, 80, 75, 75, 68, 72, 78, 74, 75< MeanCI@datos3D 873.2393, 75.1607<

Para obtener un intervalo de confianza para la varianza se ejecuta la siguiente orden:

VarianceCI@datos3D 83.3025, 10.4829<

En el caso de que queramos calcular un intervalo de confianza para la diferencia de medias de dos distribuciones que suponemos normales, debemos comprobar si se verifica la igualdad de varianzas:
datos4 = 878, 80, 80, 81, 82, 83, 87, 88, 88, 89< datos5 = 876, 76, 78, 78, 78, 81, 81, 81, 82, 83< VarianceRatioCI@datos4, datos5D

878, 80, 80, 81, 82, 83, 87, 88, 88, 89< 876, 76, 78, 78, 78, 81, 81, 81, 82, 83< 80.644746, 10.4505<

Como el 1 est dentro del intervalo, no podemos rechazar la igualdad de varianzas. Luego el intervalo de confianza para la diferencia de las medias de datos4 y datos5 es

Mathematica5.nb

79

MeanDifferenceCI@datos4, datos5D 81.00117, 7.39883<

Con respecto a los contrastes de hiptesis, comentaremos dos: el contraste para la media y el contraste para la diferencia de medias. Si queremos contrastar si la media de la distribucin normal que siguen los datos3 es, por ejemplo, 74, obtenemos el p-valor
<< Statistics`HypothesisTests` MeanTest@datos3, 74D OneSidedPValue 0.335635

Como el p-valor es mayor que el nivel de significacin tomado por defecto, 0.05, llegamos a la conclusin de que no podemos rechazar que la media de la distribucin de datos3 sea 74. Si queremos comprobar si la media de datos4 es mayor o igual que la media de datos5, podemos realizar un contraste para ver si la diferencia de ambas medias es cero. Obtenemos:

MeanDifferenceTest@datos4, datos5, 0D OneSidedPValue 0.00674533

Como el p-valor obtenido es menor que el nivel de significacin, no podemos suponer que ambas medias sean iguales. Esta conclusin ya se poda haber obtenido cuando se calcul el intervalo de confianza para la diferencias de medias y vimos que el valor 0 no estaba incluido en ste. Como en el resto de temas explicados, todo aqul que quiera profundizar ms en esta parte que se ha tratado ms superficialmente, le recomendamos que utilice la Ayuda tan mplia y extensa que posee Mathematica.

You might also like