100% encontró este documento útil (1 voto)
103 vistas

Software Mathematica

Este documento presenta una introducción al software Mathematica y sus aplicaciones en métodos numéricos. Describe las características principales del espacio de trabajo de Mathematica, incluyendo notebooks, celdas, paletas, operadores, constantes incorporadas y funciones. También explica comandos algebraicos como Expand, Factor, Together y Apart, así como el uso del comando N para aproximar expresiones. El documento continúa describiendo funciones, listas, vectores, matrices y la resolución de ecuaciones y sistemas de ecuaciones en Mathematica.

Cargado por

Diego Balto
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
100% encontró este documento útil (1 voto)
103 vistas

Software Mathematica

Este documento presenta una introducción al software Mathematica y sus aplicaciones en métodos numéricos. Describe las características principales del espacio de trabajo de Mathematica, incluyendo notebooks, celdas, paletas, operadores, constantes incorporadas y funciones. También explica comandos algebraicos como Expand, Factor, Together y Apart, así como el uso del comando N para aproximar expresiones. El documento continúa describiendo funciones, listas, vectores, matrices y la resolución de ecuaciones y sistemas de ecuaciones en Mathematica.

Cargado por

Diego Balto
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 58

Software Mathematica: Su aplicacin en los Mtodos Numricos

Software Mathematica: Su aplicacin en


los Mtodos Numricos

 AUTORES: Lic. ELIZABET ALEJANDRA MATOSO


 CATEDRA: METODOS NUMERICOS
 UNIVERSIDAD: UNIVERSIDAD NACIONAL DEL
NORDESTE
 FACULTAD: FACULTAD DE CIENCIAS EXACTAS
NATURALES Y AGRIMENSURA
 LUGAR Y FECHA: CORRIENTES 2011

Lic. Matoso Elizabet Alejandra

Software Mathematica: Su aplicacin en los Mtodos Numricos

INDICE
ndice
Capitulo 1: Introduccin
Captulo 2: Introduccin a Mathematica
El espacio de trabajo
Notebook y ncleo
Entradas y salidas
Celdas
Paletas
Operadores
Constantes incorporadas
Funciones
Comandos Algebraicos
El comando N
Captulo 3: Funciones y listas
Variables
Funciones
Listas
Construccin y manipulacin de listas
Comandos
Captulo 4: Vectores y matrices
Operaciones
Matrices
Operaciones
Captulo 5: Resolucin de ecuaciones y sistemas de ecuaciones
Comando LinearSolve
Comando Solve
Comando Findroot
Comando NSolve
Captulo 6: Representacin grfica
Comando Plot
Opciones de Plot
Comando ListPlot
Comando Show
Comando Plot3D
Opciones comando Plot3D
Captulo 7: Derivacin e Integracin
Derivacin
Integracin
Integrales indefinidas e integrales definidas
Integrales impropias
Valor aproximado de una integral
Comando NIntegrate
Aplicaciones de la integral
Capitulo 8: Conceptos de programacin
Listas

Lic. Matoso Elizabet Alejandra

2
4
5
5
6
6
6
6
7
7
8
8
8
10
10
10
12
12
12
15
15
16
17
22
22
22
23
24
25
25
27
32
33
34
35
39
39
39
40
40
41
42
43
45
45

Software Mathematica: Su aplicacin en los Mtodos Numricos


Variables
Bucles
Funciones condicionales: sentencia IF
Orden Break
Comando Which
Captulo 9: Aplicaciones de Mtodos
Races de ecuaciones
Integracin de ecuaciones diferenciales
Capitulo 10: Conclusin
Capitulo 11: Bibliografa

Lic. Matoso Elizabet Alejandra

45
47
49
50
50
51
51
53
57
58

Software Mathematica: Su aplicacin en los Mtodos Numricos

CAPITULO 1: INTRODUCCIN
Este material didctico, constituir un aporte para el desarrollo de la
asignatura Mtodos Numricos y de otras materias afines dictadas en la FACENA
(Facultad de Ciencias Exactas Naturales y Agrimensura).
El objetivo es introducir al estudiante de ciencias bsicas, tanto de las
Ingenieras como de las Matemticas, en el manejo de una herramienta de software,
potente, verstil y contribuir mediante su utilizacin al estudio y comprensin de los
Mtodos Numricos y las tcnicas de clculo aproximado y del anlisis de los
errores cometidos.
En el aula, se aprende el manejo y la aplicacin de algoritmos matemticos
para alcanzar resultados o resolver problemas que los mtodos provistos por la
Matemtica pura no pueden alcanzar, y en el laboratorio se ensea el uso y
aplicacin de una herramienta de software que soporte lo incorporado en el aula.
De un abanico de herramientas, se ha seleccionado Mathematica por tener
caractersticas amigables, pensadas para el perfil de estos alumnos que no tienen
profundos conocimientos de programacin.
La propuesta del equipo docente, es continuar con la mejora y optimizacin
de este recurso didctico, introduciendo nuevos mtodos y problemas del campo
cientfico. Adems se est trabajando con otros paquetes de software, tales como el
Matlab (Matrix Laboratory), y el Maple (Software libre) para permitir al alumno
escoger entre una variedad de herramientas posibles.

Lic. Matoso Elizabet Alejandra

Software Mathematica: Su aplicacin en los Mtodos Numricos

CAPITULO 2: INTRODUCCIN A MATHEMATICA


Mathematica es un programa utilizado en reas cientficas, de ingeniera,
matemticas y reas computacionales. Originalmente fue concebido por Stephen
Wolfram quien contina siendo el lder del grupo de matemticos y programadores
que desarrollan el producto. Comnmente considerado como un sistema de lgebra
computacional, Mathematica es tambin un poderoso lenguaje de programacin de
propsito general.

EL ESPACIO DE TRABAJO
El espacio de trabajo de la herramienta Mathematica, est compuesto por las
siguientes partes:
 Notebook y Ncleo
 Entradas y salidas
 Celdas
 Paletas

Figura 1: El espacio de trabajo

Lic. Matoso Elizabet Alejandra

Software Mathematica: Su aplicacin en los Mtodos Numricos


NOTEBOOK Y NUCLEO
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.
ENTRADAS Y SALIDAS
Para que el ncleo evale todas las entradas (inputs) ingresadas, se debe pulsar
las teclas Shift y Enter simultneamente.
Por cada entrada dada por el usuario, Mathematica devolver una salida (output)
que numerar (ambos con el mismo nmero) secuencialmente a lo largo de una
sesin de trabajo.
CELDAS
Cada entrada y salida lleva un corchete situado a la derecha de la pantalla
delimitando lo que denominaremos celdas (Cell).
PALETAS
Las paletas son pequeas ventanas, que se pueden activar (o desactivar) y que
contienen algunas de las operaciones, rdenes e instrucciones ms usuales que se
necesitan durante una sesin de 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. Ofrecen la posibilidad de
escribir, y por tanto de resolver, de la misma forma que se realiza en una hoja.
Principios generales para escribir comandos:
 Las maysculas y minsculas. Mathematica distingue unos caracteres de
otros. Todas las funciones, opciones, variables y constantes incorporadas al
programa empiezan con mayscula, por lo tanto se recomienda utilizar
minscula para aquellas definidas por el usuario.
 Los espacios. Un espacio entre dos variables se interpreta como un signo de
multiplicacin. Por esto, nunca se debe dejar un espacio entre caracteres
cuando se define el nombre de una constante, variable o funcin.
 Los parntesis, corchetes y llaves.
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 se puede usar como un segundo nivel de parntesis.
Las llaves se utilizan para definir listas (vectores y matrices, por ejemplo)
de elementos.

Lic. Matoso Elizabet Alejandra

Software Mathematica: Su aplicacin en los Mtodos Numricos


OPERADORES
Mathematica reconoce los operadores habituales de suma, diferencia,
producto, cociente y potenciacin:
Operacin
suma
resta
producto
cociente
potenciacin

Notacin en Mathematica
X+Y
XY
X * Y o X Y (un espacio)
X/Y
X^Y

Otras operaciones numricas usuales son las siguientes:


Operacin
Valor absoluto de x
Raz cuadrada de x
Parte entera de x
Factorial de x
Nmero aleatorio real entre 0 y 1
Mximo y mnimo de una lista de
vectores
Descomposicin en factores primos de x

Notacin en Mathematica
Abs[x]
Sqrt[x]
Floor[x]
X! o Factorial[x]
Random[x]
Max[x1,x2,..], Min[x1,x2,..]
FactorInteger[x]

NOTA:
 Todas las funciones comienzan con maysculas (incluso cuando el nombre
est formado por varias palabras).
 Los argumentos de las distintas funciones siempre van entre corchetes.
 La mayora de las operaciones se encuentran tambin en varias de las paletas.
 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. La nica limitacin es la memoria
disponible de la PC.
CONSTANTES INCORPORADAS
Mathematica tiene un gran nmero de constantes usuales predefinidas,
algunas de ellas son:
Operacin

Notacin en Mathematica
Pi
E
E

I
Infinity

Si bien "infinito" no es una constante, ya que no es un valor numrico,


Mathematica la incluye como constante predefinida.

Lic. Matoso Elizabet Alejandra

Software Mathematica: Su aplicacin en los Mtodos Numricos


FUNCIONES
Algunas funciones usuales y la sintaxis correspondiente en Mathematica:
Operacin
x
x
e
ln(x)
log a ( x)
sen(x)
cos(x)
tg (x)
cot g ( x)
sec(x)
cos ec( x)
arcsen(x)
arcsh(x)

Notacin en Mathematica
Sqrt[x]
E^x o Exp[x]
Log[x]
Log[a,x]
Sin [x]
Cos[x]
Tan[x]
Cot[x]
Sec[x]
Csc[x]
Arcsen[x]
ArcSinh[x]

COMANDOS ALGEBRAICOS
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).
Operacin
Expand[x]
Factor[x]
Together[x]
Apart[x]
Cancel[x]
Simplify[x]
FullSimplify[x]
TrigExpand[x]
TrigFactor[x]

Notacin en Matemtica
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 trigonomtrica en suma de trminos
Factoriza expresiones trigonomtricas en producto de
trminos

EL COMANDO N
Para aproximar expresiones racionales peridicas o expresiones irracionales,
se debe utilizar el comando N[expresin, nmero de cifras], donde el primero de
los argumentos (expresin) corresponde a la cantidad numrica que se desea
aproximar y el segundo de los argumentos (nmero de cifras) a la cantidad de cifras
con la que se requiere el resultado (parte entera+decimales).

Lic. Matoso Elizabet Alejandra

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 1: Obtener el valor exacto y aproximado de 123/9990, utilizar el comando
N, para obtener los resultados.
123/99990

41
33330
N[123/99990]
0.00123012
Ejemplo 2: Calcular la raz cuadrada de 3 con 20 cifras exactas.
N[Sqrt[3],20]
1.7320508075688772935
Tambin se puede calcular aproximaciones numricas indicando a la
herramienta que alguno de los nmeros es real y no entero; para ello se coloca el
punto de los decimales y Mathematica devolver el resultado con una precisin por
defecto.
Ejemplo 3: Probar la salida de las entradas; 123/99 y 123./99. Observar la diferencia
reflejada.
123/99

41
33
123./99
1.24242

Lic. Matoso Elizabet Alejandra

Software Mathematica: Su aplicacin en los Mtodos Numricos

CAPITULO 3: FUNCIONES Y LISTAS


VARIABLES
En programacin, las variables son estructuras de datos que, como su nombre
indica, pueden cambiar de contenido a lo largo de la ejecucin de un programa. Una
variable corresponde a un rea reservada en la memoria principal del ordenador.
La asignacin de valores a las variables se realiza de la siguiente manera:
Ejemplo 1: Asignar a la variable x el valor de 7.
 x=7
7
(la variable x vale 7)
A partir de este momento cualquier clculo que se realice y donde intervenga la
variable x, sta equivaldr al valor dado.
Ejemplo 2: Sumar el valor 4 a la variable x, definida previamente.
 x+4
11
Ejemplo 3: Calcular el cuadrado de x, ms x, menos el valor 3
 x^2+x3
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 se libere o limpie la variable. Por supuesto, el valor
desaparecer cuando se reinicie el ncleo o se empiece una nueva sesin de
Mathematica. Para liberar a las variables bastar con el Comando Clear.
Ejemplo 4: Liberar la variable x.
Clear[x]
Print[x]
x
FUNCIONES
La definicin de funciones se puede realizar de dos maneras diferentes:
 Asignacin inmediata (=)
 Asignacin diferida (:=)
Diferencia: cuando se utiliza la asignacin diferida, sta se produce cada vez que
se llama a la funcin, por lo tanto esta se ve afectada por todas las modificaciones
que puedan efectuarse.
Cuando se define una funcin en Mathematica, se debe especificar el nombre de
la misma y su variable independiente.

Lic. Matoso Elizabet Alejandra

10

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 5: Definir la funcin f(x)= x^2+5x, utilizando la asignacin Diferida.
x=4
4
f[x_]:=x^2+5x
f[x]
36
f[5] 50
Ejemplo 6: Definir la funcin anterior, utilizando asignacin Inmediata.
y=2
2
g[y_]=y^2+5y
14
g[y]
14
g[8]
14
En la asignacin diferida se observa, que la entrada no produce salida. Esto se
debe a los dos puntos delante del signo de igualdad. Lo que se hace al aadir los dos
puntos equivale a un pequeo programa que se ejecutar cada vez que lo llamemos.
En cambio, si no se aade los dos puntos, Mathematica ejecutar la funcin
inmediatamente.
NOTA:
 La variable x lleva un guin bajo "_" delante del signo igual, para que el
programa entienda que se trata de una variable muda, es decir, x puede llevar
cualquier nombre o valor.
 Si se hubiese definido una funcin sin el guin bajo "_", sucedera lo
siguiente:
Ejemplo 7: Definir la funcin f(x)= x ^ 2, sin utilizar el guin bajo y cargar valores a
x.
Clear[x,f]
f[x]=x^2

x2
f[6]
f[6]
f[6]
f[5]
f[6]
f[5]

Lic. Matoso Elizabet Alejandra

11

Software Mathematica: Su aplicacin en los Mtodos Numricos


LISTAS
Son colecciones de objetos que son tratados como una entidad y constituyen una
de las estructuras ms importantes de Mathematica.
En particular tienen utilidad para la construccin de vectores y matrices.
CONSTRUCCIN Y MANIPULACIN DE LISTAS
Para definir una lista, se deben indicar sus elementos entre llaves y separadas por
comas.
Los elementos no son necesariamente del mismo tipo, de modo que una lista
puede estar formada por nmeros, fracciones, otras listas, etc.
Otras formas de construir listas consisten en utilizar los comandos.
-Table -Array
Con las listas se pueden efectuar las operaciones aritmticas bsicas, ser
utilizados como argumentos de las funciones elementales y efectuar una serie de
manipulaciones.

COMANDOS
 Sort[lista]: ordena la lista
 Dimensions[matriz]: devuelve las dimensiones de una matriz
 Reverse[lista]: invierte la lista
 Length[lista]: calcula el nmero de elementos de la lista
 Rest[lista]: devuelve la lista sin su primer elemento
 Drop[lista,nelemento]: elimina un nmero de elementos, a partir del comienzo
 Take[lista,cant elementos]: se obtiene la lista formada por los primeros
elementos de la lista
 Append[lista, elemento nuevo]: sirve para aadir nuevos elementos al final de
la lista.
 Prepend[lista, elemento nuevo]: sirve para aadir nuevos elementos al inicio
de la lista.
Ejemplo 8: Definir una lista denominada l, con los valores; 5, 2, 6, 1, 9, 0, 4.
l={5,2,6,1,9,0,4}
{5,2,6,1,9,0,4}
Ejemplo 9: Aplicar el comando Sort a la lista l.
Sort[l]
{0,1,2,4,5,6,9}
Ejemplo 10: Aplicar el comando Reverse a la lista l.
Reverse[l]
{4,0,9,1,6,2,5}
Ejemplo 11: Aplicar el comando Length a la lista l.
Length[l]
7

Lic. Matoso Elizabet Alejandra

12

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 12: Aplicar el comando Rest a la lista l.
Rest[l]
{2,6,1,9,0,4}
Ejemplo 13: Aplicar el comando Drop a la lista l.
Drop[l,1]
{2,6,1,9,0,4}
Ejemplo 14: Aplicar el comando Take a la lista l.
Take[l,2]
{5,2}
Ejemplo 15: Aplicar el comando Append a la lista l.
Append[l,11]
{5,2,6,1,9,0,4,11}
Ejemplo 16: Aplicar el comando Prepend a la lista l.
Prepend[l,8]
{8,5,2,6,1,9,0,4}













Count[lista,suceso]: evala cuantas veces tiene lugar suceso en la lista.


Position[lista,suceso]: evala las posiciones en las que tiene lugar suceso en
lista.
Insert[lista,elemento,{i,j,}]: inserta en la posesin {i,j,} de lista elemento.
Delete[lista,{i,j,}]: elimina de la lista el elemento de la posicin {i,j,}.
Flatten[lista]: convierte una matriz o una lista con sublistas en una lista nica o
vector.
Partition[lista,nelementos,paso]: agrupa elementos de una lista en grupos de
tamao nelementos y avanzando paso. Si se omite paso, se avanza n elemento.
ReplacePart[lista, elemento nuevo, {i,j,}]: reemplaza el elemento {i,j,} de
lista por elemento nuevo.
Join[lista1,lista2,listan]: crea una nueva lista concatenando los elementos de
lista1, lista2, , listan.
Union[lista1,lista2,listan]: crea una nueva lista realizando una unin
conjuntista de los elementos de lista1, lista2, , listan.
Intersection[lista1,lista2,listan]: crea una nueva lista realizando una
interseccin conjuntista de los elementos de lista1, lista2, , listan.
Plus@@lista: suma los elementos de lista.
Times@@lista: multiplica los elementos de lista.

Ejemplo 17: Definir las listas; h, p y r, con los siguientes elementos;


h={{2,8,-5},{a,b},c}
p={2,4,-1,0,3}
r={{a,b},c,d}
{{2,8,-5},{a,b},c}
{2,4,-1,0,3}
{{a,b},c,d}

Lic. Matoso Elizabet Alejandra

13

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 18: Aplicar el comando Count a la lista h.
Count[h,c]
1
Ejemplo 19: Aplicar el comando Position a la lista r.
Position[r,{a,b}]
{{1}}
Ejemplo 20: Aplicar el comando Insert a la lista r.
Insert[r,d,1]
{d,{a,b},c,d}
Ejemplo 21: Aplicar el comando Delete a la lista p.
Delete[p,3]
{2,4,0,3}
Ejemplo 22: Aplicar el comando ReplacePart a la lista p.
ReplacePart[p,27,5]
{2,4,-1,0,27}
Ejemplo 23: Aplicar el comando Join a la lista h y r.
Join[h,r]
{{2,8,-5},{a,b},c,{a,b},c,d}
Ejemplo 24: Aplicar el comando Union a la lista h y r.
Union[h,r]
{c,d,{a,b},{2,8,-5}}
Ejemplo 25: Aplicar el comando Intersection a la lista h y r.
Intersection[h,r]
{c,{a,b}}
Ejemplo 26: Aplicar el comando Plus@@ a la lista p.
Plus@@p
8
Ejemplo 27: Aplicar el comando Times@@ a la lista p.
Times@@p
0
Ejemplo 28: Aplicar el comando Flatten a la lista h.
Flatten[h]
{2,8,-5,a,b,c}
Ejemplo 29: Aplicar el comando Partition a la lista p.
Partition[p,2]
{{2,4},{-1,0}}

Lic. Matoso Elizabet Alejandra

14

Software Mathematica: Su aplicacin en los Mtodos Numricos

CAPITULO 4: VECTORES Y MATRICES


Para definir un vector se deben escribir los elementos entre llaves y
separados por comas. Igualmente, para definir una matriz bastar escribir como un
vector de vectores que correspondern a las filas de la matriz. Tambin se puede usar
la paleta BasicCalculations/Lists and Matrices.
Ejemplo 1: Definir dos vectores; v1 con los valores (1, 2 , 3) y v2 con los valores (2,
6, -3)
v1={1,2,3}
v2={2,6,-3}
{1,2,3}
{2,6,-3}
OPERACIONES
Las operaciones que se pueden realizar son las siguientes:
 El producto escalar, utilizando el comando Dot o el punto (.)
v1.v2
5
Dot[v1,v2]
5


La multiplicacin elemento a elemento


v1*v2
{2,12,-9}

Para obtener el elemento i-simo de un vector utilizar el comando Part[v,i].


Por ejemplo, para obtener el segundo elemento de v1 se debe hacer:
Part[v1,2]
2

Una segunda forma de generar vectores, es a travs de la orden Table[ ], cuya


definicin es:
 Table[expr,{imax}]: genera un vector con imax copias de expr.
 Table[expr,{i,imax}]: genera un vector variando expr desde i=1 hasta
i=imax.
 Table[expr,{i,imin,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.

Lic. Matoso Elizabet Alejandra

15

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 2: Construir vectores, utilizando el comando Table.
Table[i,{5}]
{i,i,i,i,i}
Table[n^2,{n,4}]
{1,4,9,16}
Table[2a,{a,2,6}]
{4,6,8,10,12}
Table[2^i,{i,1,9,0.5}]
{2,2.82843,4.,5.65685,8.,11.3137,16.,22.6274,32.,45.2548,
64.,90.5097,128.,181.019,256.,362.039,512.}
Una tercera forma de definir vectores, es mediante el comando Array:
 Array[a,n]: permite construir un vector simblico de n componentes.
Array[g,4]
{g[1],g[2],g[3],g[4]}
g[1]=2
g[2]=4
g[3]=6
g[4]=8
2
4
6
8

MATRICES
Una matriz siempre est delimitada por un par de llaves y, separadas por
comas, se escriben las filas agrupadas tambin con llaves.
Ejemplo 3: Definir las siguientes matrices;
a={{1,2,5},{-2,5,7},{1,0,3}}
b={{1,1,1},{6,3,2},{1,-3,0}}
{{1,2,5},{-2,5,7},{1,0,3}}
{{1,1,1},{6,3,2},{1,-3,0}}
Mathematica no muestra el resultado en la forma habitual que se conoce. Para
conseguir este formato, se utiliza la orden MatrixForm[matriz].
MatrixForm[a]

1 2 5y
i
j
z
j
z
j
z

2
5
7
j
z
j
z
1
0
3
k
{

Lic. Matoso Elizabet Alejandra

MatrixForm[b]

1 1 1y
i
j
z
j
z
j
z
6
3
2
j
z
j
z
1

3
0
k
{

16

Software Mathematica: Su aplicacin en los Mtodos Numricos


Una matriz tambin se puede definir con el comando Table y Array de la
siguiente manera:


Table[expresin, { i, imin, imax, incrementoi}, {j, jmin, jmax,


incrementoj}, ]: se construye una lista cuyos componentes sern los
distintos valores de expresin, para cada uno de los ndices i, j variando entre
mnimo y mximo con el incremento especificado en cada paso. Los
incrementos y los valores mnimos son optativos, por defecto toman el valor
1.
Array[a, {m,n}]: se construye una matriz simblica de m filas y n columnas.
Los argumentos han de ser de tipo entero. Posteriormente se puede asignar
valores a sus componentes.

Ejemplo 4: Definir matrices utilizando el comando Table y Array.


Table[x^2+y^2,{x,0,2},{y,2,5}]
{{4,9,16,25},{5,10,17,26},{8,13,20,29}}
Array[t,{2,3}]
{{t[1,1],t[1,2],t[1,3]},{t[2,1],t[2,2],t[2,3]}}
t[1,1]=1
t[1,2]=0
t[1,3]=1
1
0
1
OPERACIONES


SUMA: Para sumar matrices, si los rdenes lo permiten, se utiliza el signo +.


MatrixForm[a]

1 2 5y
i
j
z
j
j
z
2 5 7 z
j
z
j
z
k 1 0 3{

MatrixForm[b]

1 1 1y
i
j
z
j
z
j
z
6
3
2
j
z
j
z
k 1 3 0 {

a+b
{{2,3,6},{4,8,9},{2,-3,3}}
MatrixForm[a+b]

2 3 6y
i
j
z
j
z
j
z
4
8
9
j
z
j
z
2

3
3
k
{

Lic. Matoso Elizabet Alejandra

17

Software Mathematica: Su aplicacin en los Mtodos Numricos


 PRODUCTO:
El producto se realiza utilizando el punto y para obtener un formato matricial, utilizar
MatrixForm:
a.b
{{18,-8,5},{35,-8,8},{4,-8,1}}
MatrixForm[a.b]

18 8 5 y
i
j
z
j
z
j
z
35

8
8
j
z
j
z
k 4 8 1 {

Producto entre una Matriz y un vector:


MatrixForm[a.v1]

20 y
i
j
z
j
z
j
z
29
j
z
j
z
k 10 {

Producto entre una matriz y un escalar:


MatrixForm[2a]

2 4 10 y
i
j
z
j
z
j
z

4
10
14
j
z
j
z
2
0
6
k
{

Los siguientes comandos son los que permiten extraer elementos, filas,
columnas y submatrices de una matriz:


Para extraer el elemento (i,j)-simo de una matriz A, escribimos

Para extraer la fila i-sima

Para obtener una submatriz de A el comando es:

Para extraer la columna j-sima


A[[ All , j ]]

Lic. Matoso Elizabet Alejandra

18

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 5: Definir una matriz A, con los siguientes elementos;

1 2 3y
i
j
z
j
z
j
z
4
5
6
j
z
j
z
k1 3 2{
Ejemplo 6: Obtener el elemento (2,3) de la matriz A definida anteriormente.
A[[2,3]]
6
Ejemplo 7: Obtener la segunda fila de la matriz A.
A[[2]]
{4,5,6}
Ejemplo 8: Construir una submatriz de A que contenga las filas (1,2) y las columnas
(2,3).
A[[{1,2},{2,3}]]
{{2,3},{5,6}}
Ejemplo 9: Obtener la tercera columna de la matriz A y mostrar el resultado en forma
convencional.
A[[All,3]]
{3,6,9}
MatrixForm[%]

3y
i
j
z
j
z
j
z
6
j
j z
z
k9{

Tabla de alguna de las operaciones matriciales ms usuales:


Operacin
Inversa
Determinante
Valores propios
Vectores propios
Polinomio caracterstico
Rango
Traspuesta
Traza
Matriz Diagonal
Matriz Identidad

Lic. Matoso Elizabet Alejandra

Notacin en mathematica
Inverse[a]
Det[a]
Eigenvalues[a]
Eigenvectors[a]
CharacteristicPolynomial[a,x]
MatrixRank[a]
Transpose[a]
Tr[a]
DiagonalMatrix[{a11,a22,}]
IdentityMatrix[n]

19

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 10: Definir una matriz cuadrada mat
mat={{1,3,4},{-1,0,1},{1,3,-1}}
{{1,3,4},{-1,0,1},{1,3,-1}}
MatrixForm[%]

1 3 4 y
i
j
z
j
j
z
1 0 1 z
j
z
j
z
k 1 3 1 {

Ejemplo 11: Calcular el determinante de mat para comprobar que no sea nulo, y
poder calcular la inversa.
Det[mat]
-15
Ejemplo 12: Calcular la matriz inversa de mat.
inv=Inverse[mat]

::

1
1
1 1
1
1
, 1, >, :0, , >, : , 0, >>
5
5
3 3
5
5

Ejemplo 13: Realizar el producto matricial, para comprobar que inv es la inversa de
mat, ya que el resultado obtenido es la matriz identidad.
iden=mat.inv
{{1,0,0},{0,1,0},{0,0,1}}
MatrixForm[%]

1 0 0y
i
j
z
j
z
j
z
0
1
0
j
z
j
z
0
0
1
k
{

Ejemplo 14: Definir la matriz g.


g={{1,2,7},{1,3,5}}
{{1,2,7},{1,3,5}}
MatrixForm[g]

1 2 7
N
1 3 5

Ejemplo 15: Calcular la traspuesta de g.


MatrixForm[Transpose[g]]

1 1y
i
j
z
j
z
j
z
2
3
j
z
j
z
k7 5{

Lic. Matoso Elizabet Alejandra

20

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 16: Definir la matriz h.
h={{0,1,5,9},{2,1,6,8},{0,0,0,3},{0,0,1,-2}}
{{0,1,5,9},{2,1,6,8},{0,0,0,3},{0,0,1,-2}}
MatrixForm[%]

0
i
j
j
j
2
j
j
j
j
j0
j
k0

1
1
0
0

5
6
0
1

9 y
z
z
8 z
z
z
z
3 z
z
z
2 {

Ejemplo 17: Calcular los autovalores de la matriz h.


valores=Eigenvalues[h]
{-3,2,-1,1}
MatrixForm[%]

3 y
i
j
z
j
j
z
2 z
j
z
j
z
j
z
j
z

1
j
z
j
z
k 1 {

Ejemplo 18: Calcular los autovectores de la matriz h.


vectores=Eigenvectors[h]
{{-7,1,-5,5},{1,2,0,0},{-1,1,0,0},{-13,-37,3,1}}
MatrixForm[%]

7
1 5
i
j
j
j
1
2
0
j
j
j
j
1
1
0
j
j
k 13 37 3

Lic. Matoso Elizabet Alejandra

5y
z
z
0z
z
z
z
0z
z
z
1{

21

Software Mathematica: Su aplicacin en los Mtodos Numricos

TEMA 5: RESOLUCIN DE ECUACIONES Y SISTEMAS DE


ECUACIONES
Mathematica puede resolver los tipos ms comunes de ecuaciones y sistemas
de ecuaciones, tanto de forma exacta como aproximada.
Cuando se resuelve un polinomio de grado alto, y no es posible utilizar las
operaciones elementales, se requiere de comandos como NSolve, para obtener una
solucin aproximada.
En cambio si el polinomio es de grado bajo, se utilizan comandos como
Solve, que obtienen la solucin exacta expresada mediante radicales.

COMANDO LINEARSOLVE
El comando LinearSolve, devuelve un vector, el cual cumplir la ecuacin
matricial matriz. x = b, siendo matriz una matriz y b un vector.
La sintaxis del comando es:
LinearSolve[matriz , b]
Ejemplo 1: Ingresar el siguiente sistema de ecuaciones y calcular con el comando
LinearSolve.
x + 2y z =1
2x + 3 y + z = 1
2 y + z = 2
Su resolucin mediante Mathematica es:

mat={{1,2,-1},{2,3,1},{0,-2,1}};
vec={1,1,-2};
LinearSolve [mat,vec]
{-1,1,0}
Se realiz la definicin de una matriz de coeficientes y un vector de trminos
independientes para un sistema de ecuaciones lineales. Como respuesta se obtuvo la
solucin del sistema planteado.
En el caso de los sistemas indeterminados, este comando solo calcula una de
las soluciones.

COMANDO SOLVE
Cuando la funcin sea polinmica o tenga una forma sencilla de expresin se
utiliza el comando Solve. Devuelve el valor exacto de las races de la funcin.
Resuelve sistemas de grado bajo, pero con soluciones exactas. El problema de usar
este comando, es que solo permite resolver ecuaciones y sistemas de ecuaciones para
los que es posible aplicar un mtodo algebraico sencillo, es decir que se puedan
resolver mediante operaciones elementales.
La sintaxis del comando es:
Solve[ecuacion, var iables ]

Lic. Matoso Elizabet Alejandra

22

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 2: Ingresar el siguiente sistema y calcular utilizando el comando Solve.
x + y =1
y 2z = 1
x + 2z = 0
Su resolucin mediante Mathematica es:

Solve[{x+y1,y-2z1,x+2z0},{x,y,z}]
{{x-2 z,y1+2 z}}
%/.z2
{{x-4.,y5.}}
En este caso se observa, que se trata de un sistema compatible indeterminado
y por lo tanto la solucin obtenida es en funcin de Z.
Sobre la solucin de la ecuacin se puede aplicar cualquier transformacin.
Se considera alguna de las incgnitas como un parmetro y se obtiene
resultados particulares para ciertos valores del mismo.
En el ejemplo, se obtienen las soluciones de la ecuacin con z=2.
El operador %: hace referencia a la ltima salida.
El operador /. : indica que sobre la expresin considerada se aplica la regla
z > 2 .
NOTA:
 El doble signo igual (==) entre la funcin y el valor cero indica que es una
ecuacin.
 La x que figura despus de la coma identifica la variable o incgnita a
despejar.

COMANDO FINDROOT
El comando FindRoot, se utiliza en el caso de que la funcin sea ms compleja,
se pueden calcular aproximaciones de las races utilizando mtodos numricos para
su resolucin.
Como este comando usa mtodos aproximados iterativos, es posible que si se
ingresan valores muy alejados para los puntos iniciales, Mathematica no pueda
encontrar una solucin.
Los valores que comienzan para las variables de FindRoot son elegidos
tpicamente usando estimaciones de las soluciones previstas, por ensayo y error, o
haciendo grficos. Es decir, es conveniente hacer primero una grfica de la funcin
para ver dnde se anula la funcin.
La sintaxis del comando es:
 FindRoot[ecuacion, {x, x0 }] : que utiliza el Mtodo de Newton (o mtodo de
la tangente) tomando como punto inicial x = x0

FindRoot[ecuacion, {x, x0 }, { y, y0 }] : que utiliza una variante del Mtodo de


la secante tomando como puntos iniciales x = x0 , y = y0 .

Lic. Matoso Elizabet Alejandra

23

Software Mathematica: Su aplicacin en los Mtodos Numricos


* El primer argumento, es la ecuacin.
* El segundo argumento, es una lista {x, x0 } que indica la variable y el valor
inicial.
* El resultado, es una lista que contiene una regla que muestra el valor de la
variable.
Ejemplo 3: Graficar la siguiente ecuacin en el intervalo [0; 2], para determinar un
punto de inicio y calcular todas las races con el comando FindRoot.
e x 3x
Su resolucin mediante Mathematica es:
Plot[Exp[x]-3 x,{x,0,2}]
1.25
1
0.75
0.5
0.25
0.5

1.5

-0.25

FindRoot[Exp[x]-3x0,{x,0}]
{x0.619061}
FindRoot[Exp[x]-3x0,{x,1.5}]
{x1.51213}
COMANDO NSOLVE
El comando NSolve, calcula todas las soluciones de una ecuacin o de un
sistema de ecuaciones polinmicas y no polinmicas.
Los valores obtenidos, son races aproximadas y puede aplicarse para cualquier
grado.
La sintaxis del comando es:
NSolve[ecuacion, var iables ]
Ejemplo 4: Resolver el siguiente sistema de ecuaciones, utilizando el comando
NSolve:
x2 + y 2 = 1

y = x2
Su resolucin mediante Mathematica es:
NSolve[{x^2+y^21,yx^2},{x,y}]
{{x0. +1.27202 ,y-1.61803},
{x0. -1.27202 ,y-1.61803},
{x-0.786151,y0.618034},
{x0.786151,y0.618034}}

Lic. Matoso Elizabet Alejandra

24

Software Mathematica: Su aplicacin en los Mtodos Numricos

CAPITULO 6: REPRESENTACION GRAFICA


Una de las grandes virtudes de Mathematica es el tratamiento de los grficos
para funciones de una y dos variables. Es posible dibujar a la vez varias funciones y
personalizar el resultado en cuanto a escalas, color, etc. Tambin se pueden
representar funciones en coordenadas paramtricas e incluso se pueden realizar
animaciones.
COMANDO PLOT
Para representar grficamente una funcin de una variable, el comando que se
utiliza es Plot.
La sintaxis es la siguiente:
Plot[ funcion, {x, xmin , xmax }, opciones ]
x : es la variable independiente.
xmin : Extremo inferior del intervalo del dominio de la funcin que se desea
representar.
xmax : Extremo superior del intervalo del dominio de la funcin que se desea
representar.
NOTA:
Mathematica decide automticamente cual es la escala ms apropiada para
que la grfica se vea lo mejor posible.
Ejemplo 1: Sea la funcin f ( x) = x 2 + 5 x , representar grficamente con el comando
Plot en el intervalo [-7, 7].
Su representacin mediante Mathematica es:
Plot[x^2+5x,{x,-7,7}]
50
40
30
20
10

-6

-4

-2

Graphics

Lic. Matoso Elizabet Alejandra

25

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 2: Representar grficamente la funcin g ( x) = x 3 7 x 2 + 6 x + 4 en el
intervalo [-10, 14]
Su representacin mediante Mathematica es:
g[x_]:=x^3-7^2+6x+4;
Plot[g[x],{x,-10,14}]
2000

1000

-10

-5

10

-1000

Graphics
NOTA:
 Se puede escribir directamente la funcin a representar dentro del comando
o definir primero la funcin y llamar la misma dentro de la sintaxis de Plot.
 Para evitar que aparezca el mensaje Graphics- en la salida, colocar un punto
y coma al final del comando Plot.
Existe la posibilidad de dibujar varias grficas a la vez, con la siguiente
sintaxis:
Plot[{ f 1, f 2,..., fn}, {x, xmin , xmax }, opciones ]
Esta sintaxis, dibuja las n funciones conjuntamente para valores de x
comprendidos entre xmin y xmax .
Ejemplo 3: Representar en una misma grafica las funciones f y g.
Su representacin mediante Mathematica es
f[x_]:=x^2+5x;
Plot[{f[x],g[x]},{x,-10,14}];
400

200

-10

-5

10

-200

Lic. Matoso Elizabet Alejandra

26

Software Mathematica: Su aplicacin en los Mtodos Numricos


OPCIONES DE PLOT
Cuando Mathematica realiza un grfico, se debe elegir cmo realizar la
representacin grfica (escalas, ejes, origen, color, grosor de lnea, etc.). En muchas
ocasiones, Mathematica probablemente har una buena eleccin. No obstante, si se
desea cambiar algunas de estas opciones se pueden utilizar distintas rdenes.
Como ltimo argumento del comando, se puede incluir una secuencia de
rdenes del tipo nombre->valor, para especificar el valor de las opciones. A cada
opcin que no asignemos un valor explcito, Mathematica le asignar un valor por
defecto.
AspectRatio > nmero: Determina la proporcin entre los ejes de
abscisas y ordenadas. Si especificamos el valor 1 los dos ejes tendrn el
mismo tamao.
Ejemplo 4: Agregar al grafico de la funcin f la opcin AspectRatio.


Plot[f[x],{x,0-7,7},AspectRatio1.5]

50
40
30
20
10
-6 -4 -2


2 4 6

PlotRange > {nmero1, nmero2}: Cuando Mathematica realiza un


grfico, fija una escalas para x e y con el objetivo de incluir solo las partes
ms interesantes de la grfica. Si la funcin crece rpidamente, o tiene
singularidades, las partes de la grfica demasiado largas son cortadas. Con la
orden PlotRange se controla el rango de variacin para la x y la y. Los
posibles valores para esta opcin son:

* Automatic: grafica una gran parte de la grfica incluyendo la parte " ms


interesante que aparecera por defecto.
* All: grafica todos los puntos (si es posible).
* { ymin , ymax } : grafica un rango especfico para los valores de y.
* {xrange , yrange } : grafica un rango especfico para los valores de x e y.

Lic. Matoso Elizabet Alejandra

27

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 5: Agregar al grafico de la funcin f la opcin PlotRange.
Plot[f[x],{x,0-7,7},PlotRange{-20,20}]
20

15
10
5
-6

-4

-2

-5
-10
-15
-20
PlotStyle > {opciones}: indica el estilo de la lnea o puntos de la grfica,
como ser color, grosor, brillo, y fondo.
Cuando se crea un objeto grfico en Mathematica, normalmente se aade una
lista de opciones grficas. En esta lista se puede aadir directivas grficas que
especifican cmo se deben reproducir los elementos del grfico.
Mathematica dispone de varias opciones grficas. Una de las ms importantes
es aqulla que especifica el color de los elementos del grfico. Incluso si el grfico es
en blanco y negro, se puede especificar la intensidad de color dentro de la escala de
los grises. Tambin se puede utilizar en grficos a color las intensidades del gris.


OPCIONES
1. RGBColor[nmero1,nmero2,nmero3]: Permite escoger un color en funcin
de la cantidad de rojo (nmero1), verde (nmero2) y azul (nmero3), donde los
nmeros pueden tomar cualquier valor entre 0 y 1.
Ejemplo 6: Representar las funciones f, g y h utilizando la opcin RGBColor.
Plot[{f[x],g[x],h[x]},{x,07,7},PlotStyle{{RGBColor[1,0,0]},{RGBColor[0,1,0]},{RGB
Color[0,0,1]}}]
30

20
10
-6

-4

-2

-10
-20
-30
Graphics

Lic. Matoso Elizabet Alejandra

28

Software Mathematica: Su aplicacin en los Mtodos Numricos


2. GrayLevel[ i ]: indica la intensidad del gris, entre 0 (negro) y 1 (blanco).
Ejemplo 7: Representar la funcin f utilizando la opcin GrayLevel.
Plot[f[x],{x,0-7,7},PlotStyle{GrayLevel[0.14]}]
50
40
30
20
10
-6
-4
-2
Graphics

3. Hue[ h ]: proporciona otra manera de especificar el color usando un nico


parmetro. Cuando h vara de 0 a 1, Hue[h] se mueve cclicamente entre el rojo,
amarillo, verde, cian, azul, magenta, negro y rojo de nuevo.
Ejemplo 8: Representar la funcin f utilizando la opcin Hue.
Plot[f[x],{x,0-7,7},PlotStyle{Hue[0.1]}]
50
40
30
20
10
-6

-4

-2

4. Hue[h,s,b]: especifica no solo el tono del color sino la saturacin o contraste y


el brillo. Si la saturacin igual a 1 se obtiene un color ms profundo; en cambio si
este valor decrece a 0 el color es ms claro.
Ejemplo 9: Representar la funcin f utilizando la opcin Hue con tres parmetros.
Plot[f[x],{x,0-7,7},PlotStyle{Hue[0,1,1]}]
50
40
30
20
10
-6

-4

-2

Lic. Matoso Elizabet Alejandra

29

Software Mathematica: Su aplicacin en los Mtodos Numricos


5. PointSize[d]: sirve para que todos los puntos del grfico los represente como un
crculo de dimetro d. Con PointSize, el dimetro d est medido en proporcin al
ancho de todo el grfico.
Ejemplo 10: Representar una lista con el comando ListPlot y la opcin PointSize.
lista={{1,2},{2,3},{3,5},{4,7}}
{{1,2},{2,3},{3,5},{4,7}}
ListPlot[lista,PlotStylePointSize[0.15]]
7
6
5
4
3
1.5

2.5

3.5

Mathematica tambin permite la opcin AbsolutePointSize[d], que especifica el


dimetro absoluto de los puntos, medidos en unidades fijas.
Ejemplo 11: Representar una lista con el comando ListPlot y
AbsolutePointSize.
ListPlot[lista,PlotStyleAbsolutePointSize[5]]

la opcin

7
6
5
4
3




1.5

2.5

3.5

AxesLabel > {etiqueta ejex, etiqueta ejey}: incluye etiquetas para


los ejes x e y. La leyenda debe estar entre comillas.
Ejemplo 12: Etiquetar el grafico de la funcin f con la opcin AxesLabel.
Plot[f[x],{x,0-7,7},AxesLabel{"eje de las x", "eje de
las y"}]
eje de las y
50
40
30
20
10
eje de las x
-6

-4

-2

Lic. Matoso Elizabet Alejandra

30

Software Mathematica: Su aplicacin en los Mtodos Numricos


Frame > valor: enmarca el grfico segn el valor dado. True, enmarca y
False, no enmarca.
Ejemplo 13: Enmarcar el grfico con la opcin Frame.


Plot[f[x],{x,0-7,7},FrameTrue]
50
40
30
20
10
0
-6

-4

-2

GridLines > valor: muestra una malla para cada valor de la regla del
marco. El valor Automatic, incluye las lneas para la mayora de las marcas y
el valor None, no muestra la malla.
Ejemplo 14: Representar el grfico con una malla, utilizar la opcin GridLines.


Plot[f[x],{x,0-7,7},GridLinesAutomatic]
50
40
30
20
10

-6

-4

-2

PlotLabel > {etiqueta}: incluye una etiqueta para el grfico, el texto


debe ir entre comillas.
Ejemplo 15: Etiquetar el grafico con la opcin PlotLabel.


Plot[f[x],{x,0-7,7},GridLinesNone,PlotLabel->{"Grfico
sin malla"}]
8Gr fico sin malla <

50
40
30
20
10

-6

-4

-2

Lic. Matoso Elizabet Alejandra

31

Software Mathematica: Su aplicacin en los Mtodos Numricos


COMANDO LISTPLOT
En muchas ocasiones es necesario mostrar grficamente datos obtenidos, por
ejemplo, de una experiencia o experimento. Las coordenadas obtenidas pueden no
responder a una expresin analtica, pero puede interesarnos ver cmo se disponen
esos puntos en una grfica (tambin denominada nube de puntos). Para ello, se debe
generar grficas a partir de listas de datos correspondientes a dos variables
cuantitativas.
Ejemplo 16: Representar una lista con el comando ListPlot y agregar las opciones
PointSize y PlotJoined.
lista={{1,8},{2,5.5},{3,7},{4,3},{5,8.1},{6,1}}
{{1,8},{2,5.5},{3,7},{4,3},{5,8.1},{6,1}}
ListPlot[lista,PlotStyle->PointSize[0.02]]
8
7
6
5
4
3
2
2

ListPlot[lista,PlotJoinedTrue]
8
7
6
5
4
3
2
2

Graphics
NOTA:
Para mostrar todos los puntos unidos por un segmento, se utiliza la opcin
PlotJoined, y el valor True.

Lic. Matoso Elizabet Alejandra

32

Software Mathematica: Su aplicacin en los Mtodos Numricos


COMANDO SHOW
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:
Ejemplo 17: Definir tres funciones y representarlas en un mismo grfico.
f ( x) = cos x
g ( x) = senx + 3
h( x) = x 2 + 3
Grafico1=Plot[Cos[x],{x,-Pi,Pi}];
grafico2=Plot[Sin[x],{x,-2Pi,2Pi}];
grafico3=Plot[x^2+3,{x,-Pi,Pi}];
Show[grafico1,grafico2,grafico3]

12
10
8
6
4
2
-6

-4

-2

NOTA:
Mathematica primero, hace las grficas individuales y luego la superposicin.
Se pueden mostrar los grficos en diferentes posiciones mediante el comando
GraphicsArray[ ].
* Grficos en fila.
Show[GraphicsArray[{grafico1,grafico2,grafico3}]]
1
1
12
10
0.5
0.5
8
-3-2-1
1
2
3
-6-4-2
2
4
6
6
-0.5
-0.5
-1
-1
-3-2-1 1 2 3

Lic. Matoso Elizabet Alejandra

33

Software Mathematica: Su aplicacin en los Mtodos Numricos


* Grficos en columna.
Show[GraphicsArray[{{grafico1},{grafico2},{grafico3}}]]
1

0.5
-3 -2 -1
-0.5

1 2 3

-1
1
0.5
-6 -4 -2
-0.5
-1

2 4 6

12
10
8
6
-3 -2 -1

2 3

GraphicsArray
COMANDO PLOT3D
Representa grficamente funciones de dos variables. La principal aplicacin
de representacin grfica ser dar una idea aproximada de la variacin de dicha
funcin, especialmente til para buscar extremos.
La sintaxis es la siguiente:
Plot 3D[ funcionx, y{x, xmin , xmax }, { y, ymin , ymax }]
Ejemplo 18: Representar la funcin f ( x, y ) = sen( x * y ) con el comando Plot3D.
Su resolucin mediante Mathematica es:
f[x_,y_]:=Sin[x*y];
Plot3D[f[x,y],{x,-Pi,Pi},{y,-Pi,Pi}]

1
0.5
0
-0.5
-1

2
0
-2
0

-2
2

SurfaceGraphics

Lic. Matoso Elizabet Alejandra

34

Software Mathematica: Su aplicacin en los Mtodos Numricos


OPCIONES DEL COMANDO PLOT3D
 Mesh->True/False: Dibuja (True) o no (False) la retcula o malla sobre la
que se construye la grfica.
Ejemplo 19: Graficar la funcin f utilizando la opcin Mesh.
Su resolucin mediante Mathematica es:
Plot3D[f[x,y],{x,-Pi,Pi},{y,-Pi,Pi},MeshFalse]

1
0.5
0
-0.5
-1

2
0
-2
0

-2
2

Shading->True/False: Colorea (True) o no (False) la malla anterior. Si


unimos las opciones Mesh->False y Shading->False, no aparecer grfico
alguno.
Ejemplo 20: Graficar la funcin f utilizando la opcin Shading.
Su resolucin mediante Mathematica es:
Plot3D[f[x,y],{x,-Pi,Pi},{y,-Pi,Pi},ShadingFalse]

1
0.5
0
-0.5
-1

2
0

-2
0

-2
2

PlotPoints->nmero de puntos: Representa el nmero de puntos que usar


Mathematica para dibujar la grfica. Un nmero muy alto producir un
grfico ms suave, pero aumentar considerablemente el tiempo empleado
por Mathematica para realizarlo.

Lic. Matoso Elizabet Alejandra

35

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 21: Graficar la funcin f utilizando la opcin PlotPoints.
Su resolucin mediante Mathematica es:
Plot3D[f[x,y],{x,-Pi,Pi},{y,-Pi,Pi},PlotPoints->5]

1
0.5
0
-0.5
-1

2
0
-2
0

-2
2

SurfaceGraphics
ViewPoint: Establece el punto de vista desde el que se dibujar la grfica. La
forma de usar esta opcin ser pegarlo desde una ventana que automatiza el
proceso. A dicha ventana se accede a travs del men Input, submen 3D
ViewPoint Selector.
ViewPoint
{1.3, -2.4, 2}
{0, -2, 0}
{0, 0, 2}
{-2, -2, 0}
{2, -2, 0}
{0, -2, 2}

Posicin
Visin que da el programa
Visin de frente
Visin por encima
Visin desde la esquina izquierda
Visin desde la esquina derecha
Visin frontal superior

Ejemplo 22: Mostrar el grafico con el comando ViewPoint utilizando la visin del
programa.
Su resolucin mediante Mathematica es:
Show[grafico,ViewPoint{1.3,-2.4,2}]

1
0.5
0
-0.5
-1

2
0
-2
0

-2
2

SurfaceGraphics

Lic. Matoso Elizabet Alejandra

36

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 23: Mostrar el grafico con el comando ViewPoint utilizando la visin de
frente.
Su resolucin mediante Mathematica es:
Show[grafico,ViewPoint{0,-2,0}]
1
0.5 -2 0 2
0
-0.5
-1
-2
0
2
SurfaceGraphics
Ejemplo 24: Mostrar el grafico con el comando ViewPoint utilizando la visin por
encima.
Su resolucin mediante Mathematica es:
Show[grafico,ViewPoint{0,0,2}]
1
00.5
-0.5
-1
2

-2
-2

SurfaceGraphics
Ejemplo 25: Mostrar el grafico con el comando ViewPoint utilizando la visin desde
la esquina izquierda.
Su resolucin mediante Mathematica es:
Show[grafico,ViewPoint{-2,-2,0}]
1
0.5
0
-0.5
-1
2
2
0
0
-2
-2
SurfaceGraphics

Lic. Matoso Elizabet Alejandra

37

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 26: Mostrar el grafico con el comando ViewPoint utilizando la visin desde
la esquina derecha.
Su resolucin mediante Mathematica es:
Show[grafico,ViewPoint{2,-2,0}]
1
0.5
0
-0.5
-1
-2
2
0
0
2
-2
SurfaceGraphics
Ejemplo 27: Mostrar el grafico con el comando ViewPoint utilizando la visin
frontal superior.
Su resolucin mediante Mathematica es:
Show[grafico,ViewPoint{0,-2,2}]
2
0
-2
1
0.5
0
-0.5
-1
-2

SurfaceGraphics

Lic. Matoso Elizabet Alejandra

38

Software Mathematica: Su aplicacin en los Mtodos Numricos


CAPITULO 7: DERIVACIN E INTEGRACIN
Las formulas de derivacin numrica, son especialmente interesantes a la
hora de desarrollar algoritmos para la resolucin de ecuaciones diferenciales
ordinarias y en derivadas parciales.

DERIVACIN
Para calcular la derivada de una funcin, se debe utilizar los smbolos de
derivadas parciales que aparecen en la paleta BasicInput o ingresar alguna de las
siguientes rdenes segn sea el caso:
D[ f [ x], x]
D[ f [ x],{x, n}]
D[ f [ x1 , x2 ],{x1 , x2 }]

Derivada (o derivada parcial) de f con respecto a x.


Derivada parcial n-sima de f con respecto a x.
Derivada parcial de f con respecto a x1, x2,,xn

NOTA: La ltima sintaxis es vlida para funciones de varias variables.


Ejemplo 1: Definir una funcin f y derivar utilizando la orden D.

Clear [ f ]
f [ x _] := x 2 3 x + 4
D[ f [ x], x ]
3 + 2x
Ejemplo 2: Derivar la funcin anterior utilizando el smbolo f'[x].
f '[ x]
- 3 + 2x

INTEGRACIN
El clculo integral, tiene una importancia en todas las disciplinas cientficastcnicas. Son innumerables los problemas cuya descripcin y resolucin pasa por el
calculo de una integral.
El comando Integrate de Mathematica, es el encargado del clculo tanto de
primitivas como de integrales definidas, propias e impropias, e una o varias
variables. La sintaxis es la misma, pero en cada caso varia el nmero de campos que
se debe introducir en el comando.

Lic. Matoso Elizabet Alejandra

39

Software Mathematica: Su aplicacin en los Mtodos Numricos


INTEGRALES INDEFINIDAS E INTEGRALES DEFINIDAS
Mathematica permite calcular integrales mediante las instrucciones:
 El comando Integrate, calcula la integral indefinida de la expresin dada con
respecto a la variable indicada. La sintaxis es:
Integrate[exp resion, var iable]

El comando Integrate, calcula la integral definida de la expresin dada con


respecto a la variable indicada en el intervalo [a,b]. la sintaxis es:
Integrate[exp resion, {var iable, a, b}]

Ejemplo 3: Calcular la integral de la funcin f(x)= x 2 + 3 x 1 , utilizando el comando


Integrate y el smbolo de integracin.
Su resolucin en Mathematica es:
Integrate[x^2+3x-1,x]
3 x2 x3

x +

(x^2+3x-1)x

3 x2 x3
x +
+
2
3
INTEGRALES IMPROPIAS
Las denominadas integrales impropias, son una clase especial de integrales
definidas (integrales de Riemann) en las que el intervalo de integracin o la funcin
en el integrando o ambos presentan ciertas particularidades.
La integral es impropia si se presenta uno de los siguientes casos:



a = o b = , o, a = y b =

f (x) no es acotada en alguno de los puntos de [a, b] , dichos puntos se


llaman singularidades de f (x) .

Mathematica, calcula directamente integrales impropias en el caso de que se


trate de integrales convergentes y nos presenta un mensaje en aquellos casos en los
que la integral no sea convergente.

Lic. Matoso Elizabet Alejandra

40

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 4: Calcular las siguientes integrales impropias
 A) e x en el intervalo [0 , ]
1
 B)
en el intervalo [0 , 1]
1 x2
1
 C)
en el intervalo [0 , 2]
x2
Su resolucin en Mathematica es:

Ejemplo 4 - A
Integrate[Exp[-x] ,{x,0,}]
1
Ejemplo 4 - B

1
IntegrateA !!!!!!!!!!! , 8x, 0, 1<E
1 x2

2
Ejemplo 4 - C

IntegrateA

1
x 2

, 8x, 0, 2<E

Integrate ::idiv :
1
Integral of
does not converge
2 + x

2
0

on 80, 2<. More

1
x
2 + x

VALOR APROXIMADO DE UNA INTEGRAL


El programa Mathematica tiene, sus limitaciones a la hora de calcular ciertas
integrales. Cuando no puede dar un valor exacto de una integral, proporciona un
resultado expresado en trminos de ciertas funciones especiales que el programa
tiene definidas. En esta situacin se puede obtener un valor aproximado de la
integral.
Ejemplo 5: calcular la integral

e x

en [-1, 1]

!!!!
Erf@1D

Integrate[Exp[-x^2],{x,-1,1}]

Lic. Matoso Elizabet Alejandra

41

Software Mathematica: Su aplicacin en los Mtodos Numricos


En este ejemplo, Mathematica devuelve el valor exacto de la integral en
trminos de la funcin Erf (que se denomina funcin error).
Para obtener un valor aproximado se utiliza el comando N.
N[%]
1.49365
N[Integrate[Exp[-x^2],{x,-1,1}]]
1.49365
COMANDO NINTEGRATE
El comando NIntegrate, calcula el valor aproximado de la integral de la
expresin dada con respecto a la variable indicada en el intervalo [a, b ]. La sintaxis
es:
NIntegrate[exp resion, {var iable, a, b}]
Ejemplo 6: Calcular la integral del ejemplo 5 con el comando NIntegrate

N[Integrate[Exp[-x^2],{x,-1,1}]]
1.49365
Aunque el resultado obtenido sea el mismo, se debe indicar que la forma de
operar es distinta entre N y NIntegrate.
 N: fuerza al programa a calcular el valor exacto de la integral y a
continuacin muestra un valor aproximado.
 NIntegrate: aplica frmulas de integracin numrica para calcular
directamente un valor aproximado de la integral.
NOTA: las frmulas de integracin numrica que utiliza Mathematica al aplicar la
instruccin NIntegrate funcionan bien cuando se trata de calcular valores
aproximados de integrales definidas en intervalos acotados. Por el contrario, si se
aplica para calcular integrales impropias definidas en intervalos no acotados.
Ejemplo 7: resolver la integral impropia con N y NIntegrate
sen( x)

en [1, ]
x
Su resolucin en Mathematica es:
Integrate[(Sin[x]/x),{x,1,}]

1
H 2 SinIntegral@1DL
2
N[%]
0.624713
NIntegrate[(Sin[x]/x),{x,1,}]

NIntegrate ::ncvb :
NIntegrate failed to converge to prescribed
after 7 recursive bisections in x
near x = 1.9939919252733317`*^19
. More

accuracy

1.39383

Lic. Matoso Elizabet Alejandra

42

Software Mathematica: Su aplicacin en los Mtodos Numricos


En la ltima expresin, el programa avisa que el resultado mostrado no es demasiado
fiable y es distinto al resultado real.

APLICACINES DE LA INTEGRAL
Calculo de rea de recintos planos
Mathematica permite visualizar el rea limitada por dos curvas y=f(x) e y=g(x) en el
intervalo [a, b], mediante la instruccin FilledPlot, cuya sintaxis es la siguiente:
FilledPlot[{ f [ x], g[x]}, {x, a, b}]
Visualiza el rea limitada por las curvas y=f(x) e y=g(x) en el intervalo [a, b].
FilledPlot[ f [ x], {x, a, b}]
Visualiza el rea limitada por las curvas y=f(x) y el eje X en el intervalo [a, b].
Para utilizar la instruccin FilledPlot hay que cargar el paquete
Graphics`FilledPlot` la sintaxis es la siguiente:
<< Graphics`FilledPlot`
Ejemplo 8: Calcular el rea limitada por la parbola y=x2-3x y el eje X en el intervalo
[-1, 1]. El rea viene dada por:
1

A = x 2 3x dx
1

<< Graphics`FilledPlot`
f[x_]:=x^2-3x
FilledPlot[f[x],{x,-1,4}]
4
3
2
1

-1

-1
-2

Solve[f[x]0]
{{x0},{x3}}

AbsA f@xD xE + AbsA f@xD xE + AbsA f@xD xE


0

49
6

area1 = Abs@f@xDD  x
4

49
6

Lic. Matoso Elizabet Alejandra

43

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 9: Calcular el rea limitadas por las parbolas y = x 2 2 x e y = 2 x x 2
en el intervalo [-1, 3].
f[x_]:=x^2-2x
g[x_]:=2x-x^2
FilledPlot[{f[x],g[x]},{x,-1,3}]
3
2
1

-1

-1
-2
-3

Graphics
Solve[f[x]0]
{{x0},{x2}}
0
2
a = AbsA Hf@xD g@xDL xE + AbsA Hf@xD g@xDL xE +
1

AbsA Hf@xD g@xDL xE


3

area = Abs@f@xD g@xDD x


3

8
Ejemplo 10: Calcular la longitud del arco de curva y=sen x en el intervalo [0,2 ] .
Longitud de un arco de curva: si f es una funcin en el intervalo [a, b], entonces la
longitud del arco de curva y=f(x) en el intervalo [a, b] viene dada por:
b

L = 1 + ( f ' ( x)) 2 dx
a

f[x_]:=Sin[x];Plot[Sin[x],{x,0,2Pi}]
1

0.5

-0.5

-1

2 !!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!

1 + Hf'@xDL ^2 x

2 EllipticEB

1
F
2

N[%]
7.6404

Lic. Matoso Elizabet Alejandra

44

Software Mathematica: Su aplicacin en los Mtodos Numricos


CAPITULO 8: CONCEPTOS DE PROGRAMACIN
Muchos mtodos numricos se basan en la iteracin o repeticin de unos
determinados clculos, con el objeto de aproximarse a la solucin de un problema
que no se pede resolver de forma exacta.
Tambin es necesario, imponer condiciones a dichos clculos, como criterios
de parada, distincin de posibles casos en funcin de los cuales se realizan las
diferentes operaciones.
Por ello, se debe conocer algunas formas de utilizar estas iteraciones o
condiciones, que son muy comunes en los distintos lenguajes de programacin.
LISTAS
Una lista es una cadena de expresiones de la forma:
{expresin 1, expresin 2,, expresin n}
Son de gran utilidad en los programas como medio de almacenamiento de datos.
VARIABLES
Son los elementos fundamentales de la programacin.
Por medio de ellos, se asignan y cambian los valores que intervienen en los
programas y se almacenan datos.
Los lenguajes de programacin, tienen definidos ciertos tipos generales de
variables, en las que han de encuadrarse cada una de las variables que integran un
programa.
En general Mathematica reconoce como variable toda expresin que no sea
un nmero, una palabra reservada del lenguaje o un comando.
Mathematica incorpora unos comandos especiales para simplificar el proceso
de asignacin en algunos casos especficos.
Cuando se desee que una variable cambie su contenido en una unidad, se
podr utilizar
 el operador incremento ++
 el operador decremento - -
Existen dos opciones al utilizar estos operadores:
 Utilizarlos como pre-incrementales: la variable cambia su contenido antes de
ser utilizada.
 Utilizarlos como post-incrementales: la variable cambia su contenido despus
de ser utilizada.
X- X ++
--x
++x

Lic. Matoso Elizabet Alejandra

45

Software Mathematica: Su aplicacin en los Mtodos Numricos


Ejemplo 1: Sumar 2 con la variable x, pre-incrementar y post-incrementar la
variable en distintas posiciones.
x=1;Print[2+x++];Print[x];
3
2
x=1;Print[2+ ++x];Print[x];
4
2
x=2;Print[2+ x--];Print[x];
4
1
x=2;Print[2+ --x];Print[x];
3
1
OPERADORES BASICOS
!
no
&&
y
||
o
Tabla 1: Funciones lgicas
==
!=
<=
<
>=
>

+var
--var
Varr++
Var-Var+=d
Var-=d
Var*=d
Var/=d

Igual
No igual
Menor o igual
Menor
Mayor o igual
Mayor

Tabla 2: Signos de igualdad y desigualdad


Var aumenta en 1 y devuelve el nevo valor
Var disminuye en 1 y devuelve el nuevo valor
Devuelve var, y luego aumenta en 1
Devuelve var, y luego disminuye en 1
Var aumenta en d y devuelve el nuevo valor
Var disminuye en d y devuelve el nuevo valor
Multiplica var por d y devuelve el nuevo valor
Divide por d y devuelve el nuevo valor
Tabla 3: Smbolos para modificar valores

Lic. Matoso Elizabet Alejandra

46

Software Mathematica: Su aplicacin en los Mtodos Numricos


BUCLES
Un bucle es un proceso repetitivo que se realiza un cierto nmero de veces.
Mathematica dispone de una gran cantidad de posibilidades que abarcan distintas
situaciones que puedan plantearse.
 DO
 WHILE
 FOR
1. DO
Sintaxis 1:
Do[exp resion, {n}]
Evala n veces la expresin.
Expresin: puede ser un solo comando, o una cadena de comandos, que se
unen con el operador ;. Cuando se evala una expresin que contiene el operador
;, se evala cada uno de los comandos que forman la cadena, pero slo se muestran
en pantalla el resultado del ltimo, as en la sintaxis anterior, la expresin no se
limita a un solo comando sino que puede tener la complejidad y la cantidad de ellos
que sea requerida.
Sintaxis 2:
Do[exp resion, {i, imin , imax , di}]
Evala repetidamente la expresin para cada uno de los valores de i comenzando
por imin hasta imax incrementndose sucesivamente en el valor de di .
NOTA: en este comando pueden no especificarse las opciones di o imin , en cuyo
caso se toma por defecto el valor 1.
Si no se especifica el valor inicial, este toma el valor 1.
Ejemplo 2: Usar la variable n para acumular una suma, utilizar el bucle Do, para
repetir 5 veces.
n=1;
Do[n+=1, {5}];
Print ["n = ",n];
n= 6
Ejemplo 3: Calcular y mostrar el cuadrado, de los 4 primeros nmeros naturales
iniciadas en 1, generar el bucle con Do.

Do APrint An2E, 8n, 4<E;


1
4
9
16

Lic. Matoso Elizabet Alejandra

47

Software Mathematica: Su aplicacin en los Mtodos Numricos


2. WHILE
Es un comando para repetir procesos controlados por una cierta condicin.
Sintaxis:
While[condicion, exp resion]
Evala expresin mientras la condicin es cierta.
Ejemplo 4: Ejecutar un bucle While, mientras un acumulador denominado suma sea
menor o igual al valor 100, el acumulador se debe construir con el cubo de una serie
de valores, que inician en 1 y se incrementan con pasos 1. Mostrar los valores del
acumulador en cada iteracin.
n = 1; suma = 0;
While Asuma < 100, suma += n3; n++;
Print@"valor de n: ", n, " ", "suma= ", sumaDE

valor
valor
valor
valor

de
de
de
de

n:
n:
n:
n:

2
3
4
5

suma=
suma=
suma=
suma=

1
9
36
100

3. COMANDO FOR
Permite programar tareas, en las que se necesita la repeticin de un cierto
proceso, con la evaluacin paralela de ciertos procesos de control hasta que se
verifique una condicin determinada.
La sintaxis de la orden es la siguiente:
For[exp resioninicial , condicion, incremento, exp resion]
exp resioninicial : Condicin de comienzo del bucle.
condicion : Es el momento de parada, para detener el proceso.
incremento : Determinar el aumento de la condicin inicial.
exp resion : Operacin que se debe realizar en cada paso; la expresin puede estar
compuesta de varias sentencias separadas mediante punto y coma.
Ejemplo 5: Realizar un bucle con For, con la expresin inicial de i igual a 1,
condicin de parada cuando i sea menor o igual a 5, y realizar incremento del paso
igual 2, para resolver la expresin i^3.
ForAi = 1, i 5, i += 2,
PrintA"Valor nuevo de i: ", i, " ", i3EE

Valor nuevo de i:
Valor nuevo de i:
Valor nuevo de i:

1
3
5

Lic. Matoso Elizabet Alejandra

----

1
27
125

48

Software Mathematica: Su aplicacin en los Mtodos Numricos


FUNCIONES CONDICIONALES: SENTENCIA IF
Esta sentencia comprueba si se verifica una condicin, despus, si la
condicin es verdadera Mathematica ejecutar una expresin1, y si es falsa ejecutar
otra expresin2.
Su sintaxis es la siguiente:
If [condicion, exp resion1 , exp resion2 ]
La expresiones 1 y 2 pueden estar formadas por varias rdenes separadas por
punto y coma.
Cuando se habla de condicin, se est hablando de una expresin booleana, es
decir que puede evaluarse como cierta o coma falsa.
Ejemplo 6: Ingresar una lista de tres elementos, sea m con valores 1,2,3 y verificar
que el primer elemento sea mayor o igual que la suma de los dos elementos restantes.
m={1,2,3};
If[Part[m,1]Part[m,2]+Part[m,3],Print["se cumple la
condicion, el valor es: ",Part[m,1]],Print["no cumple la
condicion, el valor es: ",Part[m,1]]
]
no cumple la condicion, el valor es:

Ejemplo 7: Ingresar una lista de tres elementos, sea m con valores 6,2,3 y verificar
que el primer elemento sea mayor o igual que la suma de los dos elementos restantes.
m={6,2,3};
If[Part[m,1]Part[m,2]+Part[m,3],Print["se cumple la
condicion, el valor es: ",Part[m,1]],Print["no cumple la
condicion, el valor es:",Part[m,1]]
]
se cumple la condicion, el valor es:
6

Lic. Matoso Elizabet Alejandra

49

Software Mathematica: Su aplicacin en los Mtodos Numricos


ORDEN BREAK[]
La finalidad de esta orden es, interrumpir un bucle en el momento que se ejecuta y no
terminar todos los pasos que faltan hasta la condicin final del bucle.
Ejemplo 8: Dentro de un bucle For, evaluar si el logaritmo hallado de un valor i es
mayor que 2, en tal caso parar la iteracin con la orden Break, en caso contrario
seguir calculando los logaritmos.
For[i=1,i<=30,i=i+1, If[N[Log[i]]<=2,Print[N[Log[i]]],
Print["El logaritmo de ", i, " es mayor que 2"]; Break[] ]]
0.
0.693147
1.09861
1.38629
1.60944
1.79176
1.94591
El logaritmo de 8 es mayor que 2
COMANDO WHICH
Controla el programa a travs de varias condiciones.
Su sintaxis es la siguiente:
Which[condicion1 , exp resion1 , exp resion2 ,........, exp resionn ]
Evala consecutivamente las condiciones 1,2, hasta que encuentra una cierta
y devuelve el valor de la expresin asociada.
Colocando True como ltima condicin, se consigue evaluar la ltima expresin si
ninguna de las condiciones anteriores ha resultado cierta.
Ejemplo 9: Controlar las siguientes condiciones utilizando el comando Which.
f ( x) = 2 / x 2 > x <= 1
f ( x) = 2 > x <= 1

f ( x) = 2 / x 2 > x <= 2
f ( x) = Sen(5 Pi / 6 + Pi ( x 2)) > x > 2

Clear@g, xD;
g@x_D := WhichAx 1,2x2,x 1, 2,x 2,2x2,x> 2, Sin@5 Pi6+ PiHx 2LDE;
2
Plot@g@xD, 8x, 2, 4<D;
1.5

1
0.5

-2

-1

-0.5
-1

Lic. Matoso Elizabet Alejandra

50

Software Mathematica: Su aplicacin en los Mtodos Numricos


CAPITULO 9: APLICACIN DE MTODOS
RAICES DE ECUACIONES
En este captulo se exponen dos de los mtodos destinados para la resolucin
de races de ecuaciones, construidos a partir de la utilizacin del lenguaje de
programacin provisto por el Matemtica y que se han expuesto en los distintos
captulos anteriores.
A continuacin se exponen dos mtodos:
 METODO DEL INTERVALO MEDIO
 METODO DE NEWTON RAPHSON
Mtodo del Intervalo Medio
Ejemplo 1: Sea la ecuacin f ( x) = x 6 + x 5 en el intervalo [0, 2] y con un error de
10^-6. Definir en primer lugar la funcin, el intervalo y la exactitud. Luego calcular
el nmero P de iteraciones (o pasos) necesarias, para a continuacin llevar a cabo
el clculo de dichas aproximaciones, que se irn visualizando a medida que se van
realizando los sucesivos clculos.
La resolucin en Mathematica es:
Clear[f,x];
f[x_]=x^6+x-5;
a=0;
b=2;
ex=10^(-6);
n=Floor[N[(Log[b-a]-Log[ex])/Log[2]]];
For[i=1,in,i=i+1,c=(a+b)/2;
If[f[c] 0,Print["Sol.Exacta:",N[c,10],"hallada
en",i,"pasos"];
Break[]
];
If[f[c]f[a]<0,b=c,a=c];
Print[i,"-aprox:", N[c,10],"(error<",N[b-a],")"]
]
1 -aprox: 1.000000000 (error< 1. )
2 -aprox: 1.500000000 (error< 0.5 )
3 -aprox: 1.250000000 (error< 0.25 )
4 -aprox: 1.125000000 (error< 0.125 )
5 -aprox: 1.187500000 (error< 0.0625 )
6 -aprox: 1.218750000 (error< 0.03125 )
7 -aprox: 1.234375000 (error< 0.015625 )
8 -aprox: 1.242187500 (error< 0.0078125 )
9 -aprox: 1.246093750 (error< 0.00390625 )
10 -aprox: 1.248046875 (error< 0.00195313 )
11 -aprox: 1.247070313 (error< 0.000976563 )
12 -aprox: 1.246582031 (error< 0.000488281 )
13 -aprox: 1.246826172 (error< 0.000244141 )

Lic. Matoso Elizabet Alejandra

51

Software Mathematica: Su aplicacin en los Mtodos Numricos


14
15
16
17

-aprox:
-aprox:
-aprox:
-aprox:

1.246704102
1.246643066
1.246612549
1.246627808

(error<
(error<
(error<
(error<

0.00012207 )
0.0000610352 )
0.0000305176 )
0.0000152588 )
6

18aprox:1.246635437Herror<7.62939 10 L
19aprox:1.246631622Herror<3.8147 106L
20aprox:1.246629715Herror<1.90735 106L

Mtodo de Newton Raphson


Ejemplo 2: Sea la funcin f ( x) = x 3 5 en el intervalo [1, 3].
Primero comprobar a travs de los grficos de f (x) , f ' ( x) y f ' ' ( x) en el intervalo
[1, 3], que cumple las condiciones bajo las cuales el Teorema de Newton-Raphson
asegura convergencia.
La resolucin en Mathematica es:
f[x_]:=x^3+5
Plot[f[x],{x,1,3}]
a=D[f[x],x]
b=D[f[x],{x,2}]
Print["Primera derivada es igual a :"," ",a]
Print["Segunda Derivada es igual a :", "",b]
30
25
20
15
10
1.5

2.5

Primera derivada es igual a : 3 x2


Segunda Derivada es igual a: 6 x

A continuacin, se generan los trminos de la sucesin de aproximaciones


mediante el siguiente algoritmo. Comenzar con la definicin de la funcin f, y el
valor de la primera aproximacin.
Inmediatamente despus se define el algoritmo del mtodo de NewtonRaphson, el cual brindar sucesivas aproximaciones. Se debe ingresar un lmite
iteraciones, en este ejemplo de 10 iteraciones.

Lic. Matoso Elizabet Alejandra

52

Software Mathematica: Su aplicacin en los Mtodos Numricos


f[x_]:=x^3-5;
x=2;
y=f'[x];
For[i=1,i<=10,i=i+1,
y1=N[(x-f[x]/y),20];
Print [ i,"" "aprox:",y1];
x=y1]
1 aprox: 1.7500000000000000000
2 aprox: 1.7200520833333333333
3 aprox: 1.7126428946668719068
4 aprox: 1.7106903016799032111
5 aprox: 1.710167886822841994
6 aprox: 1.710027561974937545
7 aprox: 1.709989829824118045
8 aprox: 1.709979681099391521
9 aprox: 1.70997695121387952
10 aprox: 1.70997621689231304
NOTA: Observar al ejecutar este grupo de comandos que ya en la sexta iteracin se
han estabilizado veinte cifras decimales de la solucin.
INTEGRACION DE ECUACIONES DIFERENCIALES - METODOS QUE
COMIENZAN POR SI MISMOS
Aunque un problema de valores iniciales, tenga una solucin no siempre es
posible obtener la funcin solucin de forma explicita. Por lo tanto se debe recurrir a
tcnicas numricas que nos brinde una solucin aproximada. A continuacin se
exponen dos mtodos:
 METODOS DE EULER
 METODO DE RUNGE KUTTA
Mtodo de Euler
Ejemplo 3: Utilizar el mtodo de Euler, para resolver y ' =

x* y
, siendo y (0) = 1 , en
2

un intervalo [0,1], con pasos h=0.1


La resolucin en Mathematica es:

Lic. Matoso Elizabet Alejandra

53

Software Mathematica: Su aplicacin en los Mtodos Numricos


Clear@f, x, a, b, dx, dyD
y@0D = 1;
f@x_, y_D := x y 2;
x2

g@x_D :=  4
plot1 = Plot@g@xD, 8x, 0, 1<, AspectRatio Automatic, DisplayFunction IdentityD;
s@0D = 0;
t@0D = 1;
pt@0D = Graphics@[email protected], Point@8s@0D, t@0D<D<D;
h = 0.1;
For@i = 1, i 10, i++,
8

s@iD = s@i 1D + h;
t@iD = f@s@i 1D, t@i 1DD h + t@i 1D;
pt@iD = Graphics@[email protected], Point@8s@iD, t@iD<D<D;

<D

u = Table@pt@jD, 8j, 0, 10<D;


Print@"N", " x ", " aprox. ", "exacta ", "error "D
For@k = 1, k 10, k++,
8

Print@k, " ", s@kD, " ", t@kD, " ",


N@g@k 10D, 4D, " ", HN@g@k 10D, 4D t@kDL N@g@k 10D, 4D 100, "%"D

<D

Show@8 plot1, u<, AxesOrigin 80, 0<, PlotRange 880, 1<, 80, 1.5<<,
DisplayFunction $DisplayFunction, AspectRatio AutomaticD;

N
1
2
3
4
5
6
7
8
9
10

x
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.

aprox.
1
1.005
1.01505
1.03028
1.05088
1.07715
1.10947
1.1483
1.19423
1.24797

exacta
1.003
1.010
1.023
1.041
1.064
1.094
1.130
1.174
1.224
1.284

error
0.2 %
0.499992 %
0.753361 %
1.01219 %
1.27884 %
1.5556 %
1.84472 %
2.14839 %
2.46875 %
2.80787 %

1.4
1.2
1
0.8
0.6
0.4
0.2

0.2

0.4

0.6

0.8

Lic. Matoso Elizabet Alejandra

54

Software Mathematica: Su aplicacin en los Mtodos Numricos


NOTA: el grafico muestra los puntos estimados por el Mtodo d Euler. Para obtener
mejores estimaciones, se debe decrementar h, la distancia entre dos valores sucesivos
de x.
Mtodo de Runge Kutta
Ejemplo 4: Utilizar el mtodo de Runge Kutta, para resolver el ejemplo 3 y ' =

x* y
,
2

bajo las mismas condiciones.


La resolucin en Mathematica es:
Clear@x, y, f, i, hD;
f@x_, y_D := x y 2;
x2

g@x_D :=  4 ;
plot2 = Plot@g@xD, 8x, 0, 1<, AspectRatio Automatic, DisplayFunction IdentityD;
numpts = 10;
h = 1 numpts;
k1 = h f@x, yD;
k2 = h f@x + h 2, y + k1 2D;
k3 = h f@x + h 2, y + k2 2D;
k4 = h f@x + h, y + k3D;
y = 1;
i = 0;
Print@"N", " x ", " aprox. ", "exacta ", "error "D;
ForAx = 0, x 1.0, x = x + 0.1,
9

s@iD = x;
t@iD = y;
pt@iD = Graphics@[email protected], Point@8s@iD, t@iD<D<D;
i++;
",
PrintAx, " ", N@ yD, "
x2

 4 ,"

j
", AbsAj
j
jy 
k

x2 y
4 z
z
z
zE

{
y = y + Hk1 + 2 k2 + 2 k3 + k4L 6;

x2

 4 100, "%"E;

=E

u = Table@ pt@jD, 8j, 0, 10<D


Show@8 plot2, u<, AxesOrigin 80, 0<, PlotRange 880, 1<, 80, 1.5<<,
DisplayFunction $DisplayFunction, AspectRatio AutomaticD;

Lic. Matoso Elizabet Alejandra

55

Software Mathematica: Su aplicacin en los Mtodos Numricos


x
0

aprox. exacta
1.
1

0.1 1.0025
0.2 1.01005
0.3 1.02276
0.4 1.04081
0.5 1.06449
0.6 1.09417
0.7 1.13032
0.8 1.17351
0.9 1.22446
1. 1.28403

1.0025
1.01005
1.02276
1.04081
1.06449
1.09417
1.13032
1.17351
1.22446
1.28403

error
0 %

1.62441 1010%
1.63597 109%
5.90613 109%
1.5091 108%
3.26974 108%
6.46668 108%
1.20703 107%
2.15873 107%
3.72483 107%
6.22204 107%
1.4

1.2

0.8

0.6

0.4

0.2

0.2

0.4

0.6

0.8

NOTA: Al observar los resultados obtenidos, se puede apreciar que la solucin


exacta y la aproximada, coinciden exactamente en 5 lugares decimales.

Lic. Matoso Elizabet Alejandra

56

Software Mathematica: Su aplicacin en los Mtodos Numricos


CAPITULO 10: CONCLUSION

A modo de conclusin preliminar, se considera que la utilizacin de la


herramienta de software propuesta para el aprendizaje y desarrollo de los algoritmos
contribuir en el conocimiento y la prctica de los alumnos.
Este caso experimental, se orienta al sector de los alumnos de carreras no
relacionados con informtica, como lo son la Ingeniera Elctrica y en Electrnica, el
Profesorado y Licenciatura en Matemtica.
Con la implementacin de este material didctico se obtuvieron los siguientes
resultados:


El grupo de alumnos, asimilo los conceptos de manera efectiva.

Se familiarizo a los estudiantes con el uso de herramientas


informticas.

Se logr aplicar los conceptos ya adquiridos en el aula, mediante un


paquete de software durante las clases de laboratorio.

Demostr la facilidad y potencia que se puede obtener en los clculos


utilizando una herramienta.

Se demostr la capacidad de implementacin en ordenadores de


algoritmos.

Se trabajo con races de ecuaciones, pero en avances posteriores se


abarcarn problemas relacionados con la interpolacin de funciones,
la derivacin e integracin numrica y la resolucin de sistemas de
ecuaciones lineales y no lineales.

A futuro se continuara con el desarrollo del presente material, agregando


nuevos mtodos y problemas de la vida real, que requieren de los mismos para su
solucin.

Lic. Matoso Elizabet Alejandra

57

Software Mathematica: Su aplicacin en los Mtodos Numricos

CAPITULO 11: BIBLIOGRAFIA


 Anlisis Numrico. Burden y Faires. 7ma. Edicin-.- Cencage Learning
Editores. 2009.
 Curso avanzado de Mtodos Numricos.- A. Iglesias- Corrientes. 1998.
Mtodos Numricos G. Pace Editorial EUDENE -1997.
 Gua rpida para el nuevo usuario de Mathematica 5.0. Fedriani Martel E. y
Garca
Hernndez
Alfredo.
Mayo
2.004.
En
http://www.eumed.net/cursecon/libreria/2004/ae-guia-math5.pdf.
 Mtodos Numricos con Mathematica. Garcia Raffil, Perez Pealver M.J.,
Sanchez Prez E. y Figueres Moreno M. Septiembre 2005. Alfaomega grupo
editor S.A. Mxico. ISBN: 970-15-0977-3.
 Mtodos Numricos con MATLAB.- Mathews y Fink. Ed. Prentice Hall.
2000.
 Mtodos Numricos para Ingenieros.- Chapra y Canale. Ed. McGraw Hill
Interamericana. 2007.
 Problemas resueltos de Mtodos Numricos. Cordero Berbero, A. y otros.
2006. Paraninfo S.A. Madrid. Espaa. ISBN: 84-9732-409-9.

Lic. Matoso Elizabet Alejandra

58

También podría gustarte