Software Mathematica
Software Mathematica
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
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
45
47
49
50
50
51
51
53
57
58
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.
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
Notacin en Mathematica
X+Y
XY
X * Y o X Y (un espacio)
X/Y
X^Y
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
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).
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
10
x2
f[6]
f[6]
f[6]
f[5]
f[6]
f[5]
11
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
12
13
14
15
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
{
MatrixForm[b]
1 1 1y
i
j
z
j
z
j
z
6
3
2
j
z
j
z
1
3
0
k
{
16
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
{
17
18 8 5 y
i
j
z
j
z
j
z
35
8
8
j
z
j
z
k 4 8 1 {
20 y
i
j
z
j
z
j
z
29
j
z
j
z
k 10 {
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:
18
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{
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
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
{
1 2 7
N
1 3 5
1 1y
i
j
z
j
z
j
z
2
3
j
z
j
z
k7 5{
20
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 {
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 {
7
1 5
i
j
j
j
1
2
0
j
j
j
j
1
1
0
j
j
k 13 37 3
5y
z
z
0z
z
z
z
0z
z
z
1{
21
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 ]
22
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
23
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}}
24
-6
-4
-2
Graphics
25
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
26
Plot[f[x],{x,0-7,7},AspectRatio1.5]
50
40
30
20
10
-6 -4 -2
2 4 6
27
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
28
-4
-2
-4
-2
29
2.5
3.5
la opcin
7
6
5
4
3
1.5
2.5
3.5
-4
-2
30
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
Plot[f[x],{x,0-7,7},GridLinesNone,PlotLabel->{"Grfico
sin malla"}]
8Gr fico sin malla <
50
40
30
20
10
-6
-4
-2
31
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.
32
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
33
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
34
1
0.5
0
-0.5
-1
2
0
-2
0
-2
2
1
0.5
0
-0.5
-1
2
0
-2
0
-2
2
35
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
36
-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
37
SurfaceGraphics
38
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 }]
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.
39
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 =
40
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
1
x
2 + x
e x
en [-1, 1]
!!!!
Erf@1D
Integrate[Exp[-x^2],{x,-1,1}]
41
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
42
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}}
49
6
area1 = Abs@f@xDD x
4
49
6
43
-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
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
44
45
+var
--var
Varr++
Var-Var+=d
Var-=d
Var*=d
Var/=d
Igual
No igual
Menor o igual
Menor
Mayor o igual
Mayor
46
47
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
----
1
27
125
48
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
49
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
50
51
-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
2.5
52
x* y
, siendo y (0) = 1 , en
2
53
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
<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
54
x* y
,
2
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
55
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
56
57
58