Вы находитесь на странице: 1из 33

UNIVERSIDAD POLITCNICA DE CARTAGENA

FUNDAMENTOS MATEMTICOS DE LA INGENIERA


CUADERNO DE PRCTICAS DE
INGENIERA MECNICA
CURSO 2009/10
Prof. Pedro Lus Gmez Snchez
Prof. Francisco A. Granados Garca.
PRCTICAS 1 y 2: Manejo del programa Matemtica
El programa Mathematica es una herramienta muy til para realizar clculos matemticos.
Puede utilizarse como calculadora cientfica. Es capaz de manipular nmeros enteros,
racionales, reales y complejos, realizando numerosas operaciones con ellos. Adems
permite definir funciones, realizar operaciones con smbolos, trabajar con matrices y
vectores, resolver ecuaciones, calcular derivadas e integrales, representar funciones, etc.
Cuando queremos evaluar una expresin con Mathematica, una vez escrita hay que pulsar
la tecla INTRO del teclado numrico (en la parte inferior derecha del teclado), o bien la
combinacin simultnea de las teclas SHIFT+ENTER (se mantiene pulsada la tecla
SHIFT y despus se pulsa ENTER). Entonces el programa ejecuta la expresin y le pone un
contador de entradas de la forma In (que preceder a la expresin), y si tiene que mostrar el
resultado de la evaluacin ste va precedido por un contador de salidas de la forma Out.
As, para la primera evaluacin pondr In[1] y Out[1] en los datos de entrada y salida,
respectivamente; para la segunda evaluacin pondr In[2] y Out[2], y as sucesivamente.
Todos estos datos de entrada o salida Mathematica los guardar en la memoria durante toda
la sesin, incluso aunque sean borrados de la pantalla.
Ejemplo 0.1 Ejecutar las siguientes sentencias (en el primer clculo Mathematica necesita
cargar el ncleo del programa, con lo que tardar unos segundos)
a) 4 6 b) 4 8 c) 5 + 18
Para modificar en pantalla una expresin, en primer lugar necesitamos situarnos en el lugar
adecuado, para lo cual se puede utilizar el ratn o las flechas del teclado. Despus pueden
eliminarse algunos caracteres usando las teclas SUPR o .
Incluso pueden ser aprovechadas expresiones ya escritas para no tener que volver a
copiarlas si vamos a utilizar otra similar. Esto puede hacerse marcando en negrita la
expresin que queramos copiar, mediante el ratn (pinchando a un lado de la expresin y
manteniendo pulsado el botn izquierdo del ratn hasta llegar al otro lado de la expresin,
donde soltaremos el botn) o mediante la tecla SHIFT (poniendo el cursor a un lado de la
expresin, teniendo pulsada la tecla SHIFT, se lleva el cursor, bien con el ratn o con las
teclas de direccin, al otro lado de la expresin); despus se hace una copia de la expresin
con las teclas CONTROL+C, o bien con el botn derecho del ratn seleccionando la opcin
COPY (o con la opcin COPY del men EDIT de la parte superior de la ventana). Una vez
hecha una copia de esto se coloca el cursor en el lugar donde se quiere poner lo que se ha
copiado y se pulsa CONTROL+V, o bien con la opcin PASTE del botn derecho del ratn
o del men EDIT.
Existen otras formas de realizar lo anterior y otras variantes, que pueden adquirirse con la
prctica, pero no es nuestro propsito adquirir dominio en esta faceta.
2
1 Operaciones aritmticas elementales
Los operadores aritmticos son + /
Es conveniente que se tengan bien localizadas las teclas en las estn cada uno de estos
smbolos; todos, excepto se pueden encontrar tambin en el teclado numrico, que est en
la parte derecha del teclado. Algunos de ellos precisan de la tecla SHIFT para su pulsacin
(esto no ocurre cuando se utiliza el teclado numrico): / Adems, hay que tener presente
que no aparece en la pantalla hasta escribir otro carcter.
Las operaciones que representan son:
x + y suma
x y resta
x y x y (con un espacio en blanco en medio) producto
x/y divisin
xy potencia
Para combinar estos operadores han de tenerse en cuenta los criterios de prioridad en
matemticas:
En un primer nivel de prioridad est la potencia; en un segundo nivel estn el producto y el
cociente; finalmente aparecen la suma y la resta. Si dos operadores tienen la misma
prioridad se evala primero el que figura a la izquierda y despus el de la derecha. Para
cambiar el orden de ejecucin de las operaciones pueden utilizarse parntesis.
Observacin 1.1 Aunque en la mayora de las ocasiones puede usarse tanto las teclas del
teclado numrico como las otras, es aconsejable no utilizar las del teclado numrico que
a veces presentan problemas.
Ejemplo 1.2 Ejecutar las siguientes sentencias
1) 2 4+3 2) 2 (4+3) 3) (2 4)+3 4) 6/3 2 5) 6/(3
2)
6) (6/3) 2 7) 2 32 8) (2 3)2 9) 2 (32) 10) 2(32)
11) b/c + ad e 12) b/(c + a)(d e) 13) (b/c + a)d e
14) b/(c + ad e) 15) (b/c + a)(d e) 16) (3 8)10
Ejercicio 1.3 Realizar las siguientes operaciones con Mathematica
a)
8 3
) 2 1 (
+
b)
3 2 . 4
8
+
c)
3 2 4 . 3
2 . 4 3
3
2
+

d)
4
4
2
3
5
)
7
67 3
(
) 2 5 . 7 (

Observacin 1.4 En general, cuando se ponga Ejemplo debern escribirse literalmente las
expresiones que figuran. Cuando se ponga Ejercicio las expresiones figurarn escritas del
modo habitual matemtico, y el alumno deber pasarlas al lenguaje del Mathematica.
3
Para aprovechar sentencias anteriores y no tener que volver a escribirlas enteramente puede
utilizarse tambin el recurso que vamos a ver a continuacin. Como ya hemos comentado
anteriormente Mathematica guarda en la memoria todas las entradas y salidas en una misma
sesin. Pues bien, podemos referirnos a stas gracias al smbolo %. Este smbolo hace
referencia al In[-] anterior. As por ejemplo, si ponemos %+8 el resultado ser el
inmediatamente anterior ms 8. Si queremos hacer referencia al resultado dos veces
anterior (el anterior del anterior) deberamos poner %%, y al tres veces anterior %%%, y
as sucesivamente. Tambin podemos hacer referencia a un resultado anterior con su
nmero de entrada (o salida). As, si ponemos %14 nos debe dar como resultado, el que
haba en el In[14].
Ejemplo 1.5 Ejecutar las siguientes sentencias
1) 4 - 7 2) 5 * 3 3) 9/3 4) % 5) %%%
6) %% 7) %%%%%%
Ejemplo 1.6 Ejecutar las siguientes sentencias
1) 2 * 4+3 2) % * 5 3) 6/3 2 4) 6/(% - 2) 5) 11 a
6) 5 b 7) 3 * % - 2%%
Ejercicio 1.7
1) Situarse en la lnea de tipo In[] (no en el Out[]) donde aparece la expresin 11 a y borrar
esa expresin. En esa misma lnea escribir la sentencia %% y ejecutarla. Observar el
resultado.
2) Realizar la operacin
5
) 5 4 . 3 ( a Multiplicar la expresin anterior por 4. Realizar
ahora la operacin
a a 16 . )
12
9
( . )
10
15
4
30
(
2 4

. Sumar ahora esta ltima expresin y la
anterior.
3) Escribir la expresin 3x - 2y +5x * y Escribir ahora la expresin 2x +3y - 4y * x
Sumar ambas expresiones.
Observacin 1.8 (Abortar un clculo) Es posible que Mathematica tarde demasiado en
hacer algn clculo. No es lo habitual, pero en alguna ocasin puede suceder que la
operacin sea extremadamente compleja, o incluso que nos hayamos equivocado al
escribirla y casualmente se transforme en algo que le haga al programa dar demasiadas
vueltas. Cuando queremos detener alguno de estos clculos bastar con seleccionar la
opcin Abort Evaluation del Men Kernel,de la parte superior de la pantalla.
4
2. Nmeros
Mathematica puede operar con nmeros:
Racionales: Si se hacen operaciones con fracciones el resultado suele venir en forma de
fraccin. Comprobarlo en el siguiente ejemplo (2/3 - 3/5) * 5/2
Irracionales: El programa trabaja con sus expresiones. Comprobarlo en el siguiente
ejemplo 2(1/2)
Aproximacin: En la mayora de las ocasiones interesa tener una aproximacin decimal
del resultado. En este caso podemos introducir uno de los nmeros con un punto decimal o
utilizar //N al final de la expresin o N[expresin] obtenindose alrededor de 6 cifras
significativas.
Si queremos tener un nmero n de cifras significativas de la expresin x debemos poner
N[x, n] Con estos comandos tambin es posible obtener aproximaciones de nmeros
enteros grandes.
Observacin 2.1 El nmero de decimales que Mathematica nos proporcione puede no
coincidir con el que nosotros le hayamos pedido. Si le pedimos que aproxime una expresin
con menos de 6 decimales es posible que no lo haga; y otras veces realiza redondeos y es
posible que d menos decimales de los pedidos, si considera que el resto son despreciables.
Ejemplo 2.2 Ejecutar las siguientes sentencias
a) (2./3-3/5)*5/2 b) (2/3-3/5)*5/2//N c) N[(2/3-3/5)*5/2, 30] d) 2100
e) 2.100 f) 2100//N g) N[2100, 10] h) (2/3-3/5)*5/2
i) %//N j) N[%%]
Ejercicio 2.3 Obtener los siguientes nmeros
a) 2 con 17 cifras significativas b)
8
3
con 10 cifras significativas
c)
3
35 con 100 cifras significativas
Ejemplo 2.4 Ejecutar las siguientes sentencias
a) 2(1/2) b) N[%] c) N[%%, 2] d) N[%%%, 10]
e) N[%%%%, 16] f) N[%%%%%, 17] g) N[Pi, 1000]
5
3 Notacin y smbolos
Mathematica, como la mayora de los programas informticos, es muy estricto con las
sentencias que se le dice que ejecute. Un pequeo cambio en una expresin y el resultado
puede ser muy distinto, o bien, el programa puede no entender la sentencia. He aqu unas
situaciones en las que conviene hacer hincapi.
a) Maysculas y minsculas: el programa distingue unos caracteres de otros. Los
comandos propios del programa empiezan por maysculas.
b) Espacios en blanco: se interpretan como un signo de multiplicar. Si un comando o una
expresin esta compuesto por varias palabras no hay que dejar espacios en blanco entre
ellas.
c) Llaves, parntesis y corchetes: las llaves definen listas de elementos, conjuntos finitos,
vectores y matrices. Los parntesis agrupan e indican prioridad de operaciones. Los
corchetes son exclusivos de las funciones para delimitar argumentos. Estos tres tipos de
objetos pueden ponerse las veces que sean necesarias, pero nunca pueden cambiarse unos
por otros.
Tanto llaves como corchetes se obtienen manteniendo pulsada la tecla AltGr y pulsando
despus la correspondiente tecla [] {}.
4 Algunas constantes y funciones propias de Mathematica
El programa lleva incorporadas numerosas constantes y funciones propias.
4.1 Constantes
Algunas constantes de Mathematica son:
Pi Es el nmero habitualmente designado por , y cuyo valor aproximado es 3.1416
E Es el nmero habitualmente designado por e, y cuyo valor aproximado es 2.71
I Es la raz imaginaria de 1 , habitualmente designada por i = -1
Infinity. Habitualmente denotado por +
Degree Es la constante /180 , til para la conversin de grados a radianes. Hay que
tener en cuenta que las funciones trigonomtricas usuales trabajan por defecto con el
argumento en radianes.
4.2 Funciones
A continuacin ponemos algunas de las funciones ms importantes que Mathematica lleva
incorporadas(a la izquierda figura la funcin en el lenguaje del Mathematica y a la derecha
tal y como nosotros la escribimos habitualmente):
Log[x] = ln x Log[b,x] =
x
b
log
Sin[x] = senx Cos[x] =cos x
Tan[x] = tan x ArcSin[x] = arcsenx ArcCos[x] = arccosx ArcTan[x]=arctanx
Abs[x] = |x| Sqrt[x] = x Exp[x] =
x
e Floor[x] = parte
entera
Re[z] = Parte real z Im[z] = Parte imaginaria z
Conjugate[z]= Conjugado de z Arg[z] = argumento de z
6
FactorInteger[n] = factores primos de n
Ejercicio 4.1 Realizar las siguientes operaciones en Mathematica:
1) cos /3 2) 256 log
2
3) 48 4)
x
e
3
5) sen30
6) sen30 7) |3 - 4i| 8) - 9) + 10)

1

11) ln0 12) Calcular e con 100 cifras decimales y 5 con 1000
13) Descomponer en factores primos 98609 y 235970.
14) Dado el complejo (3+i).(-4+6i) calcular la parte real, la imaginaria, el mdulo y el
argumento.
Observacin 4.2 Pueden hallarse el valor de las funciones trigonomtricas tanto en
radianes como en grados. Por ejemplo, para hallar el seno de p radianes pondramos Sin[Pi]
y si lo hacemos en grados (que seran 180) deberamos poner Sin[Degree * 180]
5 Variables y funciones
Estos objetos nos van a permitir definir nuevas variables y funciones que podremos utilizar
de la misma forma que las propias de Mathematica. A este tipo de objetos hay que asignarle
un nombre, siempre que dicho nombre no empiece por un nmero ni por el smbolo $.
Tambin es conveniente que la primera letra del nombre sea minscula, para evitar
colisiones con objetos propios de Mathematica, que comienzan todos con una letra
mayscula. Nombres adecuados para las variables o funciones podran ser x y z pepe
hola x1 variable1 f funcion1 funcion3bis
Es importante destacar que algo como xy ser identificado por el programa como un solo
objeto, una sola expresin. Si lo que pretendemos es expresar el producto del objeto x con
el objeto y deberamos poner x*y x y Para indicar que estamos multiplicando el nmero
5 por el valor de x podemos poner 5 x 5* x o incluso 5x (cuando el primer factor de la
multiplicacin es un nmero, no una variable o funcin que pueda ser representada
mediante una expresin, puede omitirse el signo de multiplicacin). Ahora bien si ponemos
x5 el programa lo identificar como un objeto (una variable o funcin) que tiene ese
nombre completo.
Ejemplo 5.1 Ejecutar estos ejemplos, observando el resultado
a) 5x +4x +4x - 7x - 8* x +x3- 5x3+x2- 6x2
b) 2x - 3y +5xy - 6yx +8x * y - 6y * x +3x * y - 45y * x
c) 3xy2- x * y2+yx2- 2y * x2
d) 2xy2+3x * y2- 2yx2- y * x2 e) %+%% f) xy2* xy
7
Ejercicio 5.2 Transcribir al lenguaje del Mathematica las siguientes expresiones
1) 5 3 45
2 3
+ x x x 2) xy x y x xy y x + 6 4
3 2 3 2
3)
1
3
44 5 4 6
2 2
2
2 3 2 2
+

+ +
y x
z y x
z y xz xy z y x
5.1 Variables
Si ponemos x =0 habremos definido la variable x con valor 0. Si a continuacin ponemos x
=4 le habremos cambiado el valor a la variable x que ahora pasar a valer 4. Si ponemos la
sentencia y = x +1 estamos definiendo una variable y a la que le estamos asignando el valor
que tiene x ms 1. Una situacin similar sera la sentencia x =x +1 que no representa una
ecuacin, sino que significa que a x le asignamos el valor que tiene en este momento ms 1.
En este caso, despus de esta operacin, el nuevo valor de x es 5.
Si queremos borrar el valor de una variable o funcin es suficiente que escribamos
Clear[nombre]
As pues para borrar el nombre de una variable llamada t y una funcin llamada u debemos
ejecutar las dos sentencias Clear[t] Clear[u] o bien de una sola vez Clear[t,u]
Supongamos que tenemos definida la variable c cuyo valor actual es 3. Si escribimos la
sentencia t :=c estaremos definiendo una variable t con valor igual a c En qu se diferencia
esto de la sentencia u = c ? En que, adems de que con los dos puntos no se obtiene ningn
Out, t ser una variable cuyo valor coincidir con el que tenga c en cada momento; en
cambio u ser una variable que tendr el valor fijo 3,siempre que no pongamos otra
sentencia del tipo u =nuevovalor
Para saber el valor actual de una variable introducimos su nombre y lo ejecutamos como si
fuera una sentencia.
Ejemplo 5.3 Ejecutar las siguientes sentencias
a) x1=2 b) x2=x1 c) x3:=x1 d) x1=x1-3 e) x2 f) x3
5.2 Funciones
Para definir una funcin que dependa de n variables debe utilizarse el siguiente esquema
nombrefuncion[variable1_,variable2_,...,variablen_]= expresin en funcin de las
variables
Ejemplo 5.4 Ejecutar la siguiente sentencia
a) f1[v_]= v3 - 4; f2[p_,q_]= Sin[p * q]
8
Para obtener el valor de la funcin en un punto basta con sustituir las variables por las
coordenadas del punto, y no utilizar la raya _, pues sta slo se utiliza a la hora de la
definicin de la funcin. As pondremos, para una funcin f de una variable f[4] para hallar
el valor de esa funcin en el punto 4; g[-1,a] si queremos hallar el valor de una funcin g
de dos variables al evaluarla en el punto (-1,a)
Hay que llevar precaucin para usar las funciones y evaluar expresiones en ellas. As por
ejemplo si tenemos definida la funcin de una variable f y ponemos f[x] el resultado ser la
expresin de f evaluada en el valor x Si x no tiene ningn valor asignado previamente la
expresin quedar de forma genrica en funcin del valor del parmetro x. Ahora bien si
x ya tiene algn valor asignado la expresin f[x] no quedar de forma genrica. Por ello,
cuando queremos que la expresin quede en forma genrica debemos asegurarnos que los
nombres que empleamos para los parmetros no han sido empleados anteriormente, o, en su
defecto, debemos eliminar el valor que hayan tenido antes con el comando Clear
Ejemplo 5.5 Ejecutar las siguientes sentencias
a) f3[variable_]= variable3 b) f3[parametro] c) c1=3
d) f3[c1] e) f4[cc_]=3cc f) f4[parametro2] g) Clear[f4]
Cuando vayamos a definir un nuevo objeto es conveniente asegurarnos de que no hay
ninguno anterior con ese mismo nombre, eligiendo un nombre no utilizado anteriormente.
En caso contrario, el programa podra no dejarnos asignarle el mismo nombre a otro objeto,
o podra eliminar el valor anterior.
Ejercicio 5.6 Definir en Mathematica las siguientes funciones
f5(x)=
3 x
Cosx
f6(x, y) = seny x e
y x
. cos
) (
2 2
+
f7(x, y, z)= xyz cos(x + y + z)
y obtener los siguientes valores
a) f5() b) f5( 3 ) c) f6(0, ) d) f6(/4, -/4) e) f7(-1, 1, 0)
Ejercicio 5.7 Crear las funciones g1(x) = x x x 7 4
2 3
+ , g2(x)= 4 3 6
2 4
+ x x x y
g3(x) =
) ( 2
) ( 1
x g
x g
y evaluarlas en un parmetro (sin valor asignado) llamado a. Despus
borrarlas de la memoria.
Observacin 5.8 Aunque guardemos informacin en un archivo en el que se hayan
definido una serie de funciones o variables, stas slo permanecern en memoria hasta que
cerremos el programa. Esto quiere decir que cuando arranquemos de nuevo el programa y
abramos el archivo, aunque estn escritas esas definiciones hasta que no volvamos a
9
ejecutar las sentencias correspondientes Mathematica no tendr guardadas en la memoria
dichas funciones o variables.
5.3 El uso del punto y coma
Cuando ponemos x =4 para definir la variable x con valor 4,el programa debe dar como Out
(salida) 4. Si ponemos x =4; para definir una constante, el programa no dar ninguna salida.
Por otra parte, si en una misma lnea queremos definir varias expresiones debemos separar
stas con punto y coma (se realizan todas las operaciones pero en el Out de pantalla no
veremos los resultados de las expresiones que van seguidas de punto y coma). Si al final de
la ltima expresin ponemos punto y coma no obtenemos ninguna salida en pantalla. Si no
lo ponemos nicamente nos aparecer la salida correspondiente a la ltima expresin.
En conclusin, la utilidad que tiene aqu el punto y coma es por un lado escribir varias
secuencias en una misma lnea o bien no mostrar el Out[] correspondiente al ltimo In[],
para as no aumentar innecesariamente el nmero de expresiones que aparezcan en la
pantalla.
Ejemplo 5.9 Ejecutar las siguientes sentencias
a) c =3;t =c;u :=c; b) t c) u d) c =-1; e) t f) u
g) Clear[x, y, z, f ] h) x =2;f[z_]:=z2 +3;y =f[x];y
6 Ayuda
El men Help, situado en la barra superior, contiene un manual del programa, en el que
vienen todos los comandos de Mathematica, el uso de cada uno de ellos e incluso ejemplos
aclaratorios. No obstante existe una forma sencilla de conseguir ayuda en pantalla mediante
algunos smbolos como
? ?? *
Ejemplo 6.1
1. ?Log ??Log nos dan informacin acerca de la funcin Log
2. ?Arc* nos da una lista de todas las funciones que empiezan por Arc
3. ?*Cos* nos da una lista de todos los comandos que contienen la expresin Cos
4. ?*Sin nos da una lista de todos los comandos que terminan en Sin
5. ?@ nos da una lista de todos los objetos que hemos definido.
7 Simplificaciones y expansiones
10
El manejo de polinomios es fundamental en matemticas, ya que son funciones continuas,
derivables e integrables en todo R. Adems de que cualquier funcin continua puede ser
aproximada de manera uniforme por medio de un polinomio.
Un polinomio p(x), puede ser factorizado por medio del comando Factor[p[x]]. El proceso
contrario lo realiza el comando Expand[p[x]].
Ejercicio 7.1 . Factorizar los siguientes polinomios
a. p(x) = 1 2
2
+ + x x b. p(x)=(-2 + x)
2
(1 + 3x) c. p(x)= 1
10
x
Expanda la soluciones de los ejercicios anteriores.
Para funciones racionales, que vienen dadas como cociente entre dos polinomios, existen
diversos comandos para transformar estas funciones en sumas de funciones racionales ms
simples y para simplificarlas. Estos son:
Expand[expr] desarrolla productos y potencias,
escribiendo
ExpandAll[expr] aplica Expand por todas partes
Factor[expr] reduce a producto de factores
Together[expr] pone todos los trminos sobre un
comn denominador
Apart[expr] separa en trminos con
denominadores simples
Cancel[expr] cancela factores comunes entre
numeradores y denominadores
Simplify[expr] aplica un conjunto de
transformaciones algebraicas y da la
forma ms pequea de expr
encontrada
Funciones para transformar expresiones algebraicas.
Ejercicio 7.2. Dada la funcin racional siguiente
Expande el numerador
Desarrolla todos los factores tanto numerado como denominador
Separa en sumas con denominadores simples
Factoriza el ltimo resultado, para obtener la misma funcin de partida.
11
PRCTICA 3: Vectores y Matrices
1. Definicin de vectores y matrices
Los vectores en Mathematica se escriben entre llaves y no con parntesis. As para escribir
el vector (-1,2,0) pondremos {-1,2,0}. Los vectores tambin pueden utilizarse en
Mathematica para evaluar una funcin en varios puntos. As si f es una funcin de una
variable, y escribimos f[{0,Pi,a}] estaremos aplicando f a los puntos 0, pi y a,
respectivamente, y el resultado ser un vector cuyas coordenadas son f[0], f[Pi] y f[a].
Ejemplo 1.1 Teclear y ejecutar las siguientes sentencias:
a) funcion[x_]:= Cos[x] b) funcion[{0,Pi,a}] c) Sin[{0,Pi,a}]
Supongamos que queremos definir la funcin f: R R dada por f(x,y,z)= xyz . Para
escribir esto en Mathematica debemos poner f[x ,y ,z ]:= x*y*z2 f[{x ,y ,z }]:=
x*y*z2.
La nica diferencia entre estas dos formas est en que en el primer caso la funcin hay que
evaluarla en tres nmeros (por ejemplo f[1,2,0] ) y en el segundo en caso debemos evaluar
la funcin en un vector de tres coordenadas (por ejemplo f[{1,2,0}] ).
Se le pueden dar nombres a los vectores. As, escribiendo u={2,-1,0,3} estaremos
definiendo el vector u que vale (2,-1,0,3). Si ponemos u[[1]] estaremos refirindonos a la
primera coordenada del vector u, es decir, a 2; y as ocurre con el resto de coordenadas
u[[2]], u[[3]] y u[[4]]. stas pueden ser modificadas, pues basta poner u[[2]]=5 para que la
segunda coordenada deje de ser -1 y valga ahora 5.
Las matrices en Mathematica hay que definirlas como un vector de vectores. Al poner
{{1,2},{-3,0},{4,6}} estaremos definiendo en Mathematica la matriz que tiene por filas los
vectores anteriores, es decir, la matriz que nosotros usualmente escribimos as

,
_

6 4
0 3
2 1

Si asignamos un nombre a esta matriz, poniendo por ejemplo matriz ={{1,2},{-3,0},{4,6}}
podemos referirnos a sus coeficientes o a sus filas, o incluso cambiarlos. Poniendo
matriz[[3,1]] nos debe dar como salida el elemento de la matriz anterior que ocupa la
tercera fila y la primera columna, es decir, 4. Si ponemos matriz[[3,1]]=-2 le habremos
cambiado el valor que tena, valiendo ahora -2. Si ponemos ahora matriz[[3]] nos debe dar
como salida la tercera fila de la matriz anterior.
Si queremos ver en forma matricial la matriz anterior hay que poner MatrixForm[matriz].
Este comando slo sirve para visualizar la matriz. Al poner DiagonalMatrix[{a1,a2,...,an}]
estamos poniendo una matriz diagonal cuyos elementos de la diagonal principal son
a1,a2,...,an. Si escribimos IdentityMatrix[n] obtenemos la matriz identidad de orden n.
12
Ejercicio 1.2
1. Definir la matriz m =

,
_


5 3 0
2 1 1

Cambiar el primer vector-fila por el vector (0,3,4), y asignarle al coeficiente
22
a el valor
-4.
2. Ver en forma matricial la matriz identidad de orden 11, la matriz diagonal cuyos
elementos son pi, -1, 0, 3, 2, -2 y la matriz cuyas filas son los vectores (-1,3,4,5,6),
(2,4,-1,0,456), (5,-1,-9,55,0) y (0,0,0,3,-2).
2 Operaciones con vectores y matrices
La suma o resta de dos vectores o dos matrices se realiza, igual que para los nmeros,
mediante los smbolos + y -
El producto de dos matrices se realiza mediante un punto .
Este ltimo smbolo, utilizado sobre vectores, sirve para realizar el producto escalar. En el
caso de vectores podemos usar tambin el comando Dot Para el producto vectorial (en R3)
se usa Cross
Para multiplicar un escalar por un vector o por una matriz puede utilizarse el smbolo de
multiplicacin usual entre nmeros, esto es, * o dejar un espacio en blanco.
Ejemplo 2.1 Teclear y ejecutar las siguientes sentencias
a) u1= {a1,b1,c1}; u2= {a2,b2,c2}; b) u1+u2 c) u1-u2
d) 3u1-5 u2 e) -5 * u1+2u2 f) m1= {{1,2},{-3,0},{4,6}}; m2= {{-1,0},{2,1},{6,4}};
g) m3= {{-1,1,0},{6,5,4},{4,5,-2}} h) m1+ m2 i) m1 - m2 j) a m1-3m2
k) 6*m1-m3.m2 l) u1.u2 m) Dot[u1,u1] n) Cross[u1,u2]
La sentencia Transpose[m] nos da la traspuesta de una matriz m Si la matriz m es cuadrada
para hallar el determinante bastar teclear Det[m] Si la matriz m es invertible, la inversa de
m se puede hallar poniendo Inverse[m]
Ejercicio 2.2 Dada la matriz m1=

,
_

3 5 1
1 3 0
3 2 1
hallar su traspuesta (a la que llamaremos m2) y su determinante. Comprobar si m1 es
invertible y en caso afirmativo, hallar la inversa de m1 (a la que llamaremos m3), la
traspuesta de m3 (a la que llamaremos m4) y la inversa de m2 (a la que llamaremos m5).
Finalmente comprobar que m4 y m5 coinciden.
13
Para realizar la potencia n-sima de una matriz cuadrada m (es decir, el producto n veces de
m consigo misma, que usualmente lo denotamos por m^n) existe el comando
MatrixPower[m,n].
Ejercicio 2.3 Dada la matriz m =

,
_

6 3
2 1
hallar
3
m .
Realizar esta operacin mediante el comando MatrixPower y poniendo m.m.m Teclear
tambin m^3 m m m y m*m*m y observar el resultado.
Existen comandos de Mathematica que sirven para crear vectores y matrices dependientes
de contadores. As es Table Observemos su funcionamiento. Si ponemos Table[i,
{i,1,4,1}] nos dar como salida el vector (1,2,3,4). Si escribimos Table[
2
i ,{i,1,4,1}] nos
dar como salida el vector (1,4,9,16). Tecleando Table[i-1,{i,3,7,1}] nos dar como salida
el vector (2,3,4,5,6). Finalmente si ponemos Table[i+3,{i,4,10,2}] obtendremos el vector
(7,9,11,13). Su expresin general es Table[expresin,{contador,inicio,final,n}] la cual
crea una tabla (que puede ser por ejemplo un vector o una matriz) que tiene como entradas
el valor de expresin en las que contador empieza en inicio, termina en final y va contando
cada n elementos. Adems, pueden ponerse ms de un contador (si se pone slo uno el
resultado es un vector; si se ponen dos el resultado es una matriz; si se ponen tres el
resultado ser una tabla tridimensional, etc.).
Ejemplo 2.4 Teclear las siguientes sentencias
a) Table[-i,{i,2,6,1}] b) Table[i^3,{i,3,9,2}] c) Table[2i-1,{i,3,10,3}]
d) Table[i j,{i,4,8,2},{j,1,3,1}] e) Table[i+j,{i,2,11,3},{j,2,3,1}]
f) u={2,-3,9} g) Table[-i u[[i]],{i,1,3,1}] h) m={{1,2},{3,4},{5,6}}
i) Table[(-1)^j m[[j]],{j,1,3,1}]
Observacin 2.5 Puede omitirse n (se supondra que vale 1) o n e inicio (se supondra que
valen ambos 1).
Existe un comando para crear vectores o matrices con entradas vacas preparadas para
almacenar datos y ordenarlos como si formasen una sucesin: Array Veamos el
funcionamiento de este comando.
Ejemplo 2.6 Ejecutar las siguientes sentencias:
1) Array[a, 6] 2) a 3) a[1] 4) a[1] = 3 5) a[1] 6) Clear[a] 7) a[1]
Recordemos que para realizar el producto escalar (eucldeo) de dos vectores u y v con
Mathematica deberemos escribir la sentencia Dot[u,v]
Ejemplo 2.7 El producto escalar de los vectores (1, 0, -2) y (1, -2, 3) es
Dot[{1,0,-2},{1,-2,3}]
La norma del vector (-3, 0, 1, -2, 5) es Sqrt[Dot[{-3,0,1,-2,5},{-3,0,1,-2,5}]]
14
Ejercicio 2.8 Supongamos que tenemos los vectores u =(1, -1, 0, 2) y v =(3, 4, 1, 2).
1. Realizar el producto escalar de u y v.
2. Deducir si u y v son ortogonales.
3. Hallar la norma de u y la norma de v.
4. Deducir si alguno de los vectores es unitario.
5. Hallar el ngulo que forman u y v.
6. Hallar dos vectores LI w1 y w2, que sean ortogonales tanto a u como a v.
3. Rango
Dada una matriz m puede obtenerse (realizando transformaciones elementales-fila) una
escalonacin de la matriz inicial tecleando RowReduce[m] sta ltima tiene por tanto el
mismo rango que m y sus filas no nulas constituyen una base del subespacio generado por
las filas de m. Si queremos obtener todos los menores de orden n de la matriz debemos
teclear Minors[m,n] Mathematica mostrar, en el resultado de esta sentencia, dichos
menores ordenados a su vez en forma de matriz (segn los rdenes). De este modo cada
uno de los nmeros que aparezca en la matriz resultado ser un menor de la matriz m de
orden n.
Ejercicio 3.1 Hallar el rango de las siguientes matrices (de tres formas: utilizando menores,
escalonando la matriz por filas y escalonando la matriz por columnas):

,
_

2 6 8 1
2 3 2 2
0 1 2 1

,
_

3 4 1 0
2 0 5 2
0 2 3 1
2 2 2 1
Ejercicio 3.2 Hallar una base de los siguientes subespacios de R4:
1. El subespacio generado por los vectores (-1, 3, 2, 4), (1, -3, -2, -4), (1, 0, -2, 1) y
(0, 3, 0, 5).
2. El subespacio generado por los vectores (0, 0, 0, 4), (0, 0, -2, -4), (1, 0, -2, 1), (4, 0, 2, 3)
y (1, 0, 0, 5).
4. Diagonalizacin de matrices
Supongamos que m es una matriz cuadrada de orden n. Para hallar los valores propios de m
deberemos ejecutar la sentencia Eigenvalues[m] Si lo que queremos es unir bases de
todos los subespacios propios de m lo que deberemos poner es Eigenvectors[m] Hay
que tener en cuenta que el ltimo comando lo que hace es hallar bases de cada uno de los
subespacios propios y despus unirlas. Para cada valor propio, aade tantos vectores cero
como diferencia hay entre la multiplicidad del valor propio (multiplicidad que tiene como
15
raz del polinomio caracterstico de m) y la dimensin del correspondiente subespacio
propio. Adems, los valores propios los ordena segn el orden natural de los nmeros, y los
vectores propios aparecen en el mismo orden que los valores propios a los que van
asociados. Para saber si una matriz m es diagonalizable tenemos que ver que todos los
valores propios son reales y que existe una base del espacio formada por vectores propios.
Esto ltimo puede hacerse directamente viendo si el nmero de vectores propios (no nulos)
que el programa nos da despus de ejecutar la sentencia Eigenvectors[m] es igual al
tamao de la matriz.
Ejemplo 4.1 Ejecutando las siguientes sentencias:
m = {{3, 0, 0}, {0, 2, 0}, {0, 0, 2}}
Eigenvalues[m]
Eigenvectors[m]
vemos que la matriz es diagonalizable, pues todos los valores propios son reales y los
vectores que salen son no nulos.
Ejecutando el comando JordanDecompositon[m] vemos cul es la matriz de paso
(primera) y la diagonal (segunda), o visualmente con MatrixForm[%] la matriz de paso
est arriba y la diagonal abajo.
Ejemplo 4.2 Ejecutando las siguientes sentencias:
n = {{1, -1, 3}, {0, -2, 3}, {0, 0, 2}}
Eigenvalues[n]
Eigenvectors[n]
vemos que la matriz es diagonalizable, pues todos los valores propios son reales y los
vectores que salen son no nulos.
Ejecutando el comando JordanDecompositon[n] vemos cul es la matriz de paso (primera)
y la diagonal (segunda), o visualmente con MatrixForm[%] la matriz de paso est arriba y
la diagonal abajo.
Ejemplo 4.3 Ejecutando las siguientes sentencias:
a = {{1, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0}, {0, 1, 1, 0, 0, 0}, {0, 0, 0, 2, 0, 0}, {0, 0, 0, 1, 2, 0},
{0, 0, 0, 0, 0, -1}}
Eigenvalues[a]
Eigenvectors[a]
vemos que la matriz es no diagonalizable, pues aunque todos los valores propios son reales
hay vectores que salen nulos.
Ejercicio 4.4 Para las siguientes matrices, hallar los valores propios, una base de cada
subespacio propio, comprobar si son diagonalizables, y, en caso afirmativo, hallar las
matrices cambio de base correspondientes P y
1
P
y las matrices diagonales
correspondientes D (observar cules son los elementos de la diagonal de D):
16

,
_

1 1 0
1 3 1
0 2 1

,
_

1 0 2
0 3 0
4 0 5

,
_


1 0 1
0 1 1
1 1 1
17
PRACTICA 4: ECUACIONES. SISTEMAS DE
ECUACIONES LINEALES.
1. Ecuaciones
En Mathematica la igualdad en una ecuacin se escribe con el smbolo == para distinguirlo
del smbolo = que utilizbamos para definir variables o funciones. As la ecuacin que
nosotros habitualmente designamos por x =2x - 3 se escribira x == 2x - 3 Para resolver una
ecuacin o un sistema de ecuaciones, Mathematica dispone de varios comandos:
a) Solve[ecuacin,variable] o Solve[{ n
ec ec ec ec ,..... , ,
3 2 1 },{ n
var ,..... var , var , var
3 2 1 }]
Con estas sentencias el programa resuelve, si existe solucin, la ecuacin o el sistema de
ecuaciones, para las variables dadas.
b) Reduce[ecuacin,variable] o Reduce[{
n
ec ec ec ec ,..... , ,
3 2 1
},{
n
var ,..... var , var , var
3 2 1
}]
Con estos comandos el programa simplifica todo lo posible la ecuacin o el sistema,
considerando sus soluciones, tanto en trminos de las variables como de los posibles
parmetros (dando los valores de los parmetros para los cuales existe la solucin y la
solucin correspondiente)
c) El comando FindRoot halla una raz (mediante aproximacin numrica) de una ecuacin
de una variable, a partir de una condicin inicial prxima (utilizando el conocido mtodo de
Newton). Con los otros comandos Mathematica intenta hallar las soluciones del sistema de
ecuaciones ms o menos despejando y sustituyendo, utilizando funciones inversas, y eso no
es siempre posible. Por ello no ser capaz de resolver muchos sistemas de ecuaciones.
Ahora bien, a veces nos puede interesar hallar una solucin concreta de una ecuacin (bien
porque las otras no nos sean de inters, o bien porque sepamos que es nica). Puede
aplicarse el mtodo de Newton para hallarla. No vamos a ver detalles de este mtodo, pero
s diremos que funciona en numerosas situaciones y que proporciona una solucin de una
ecuacin si damos un valor inicial prximo a la solucin.
Ejemplo 1.1
1. Vamos a hallar las races del polinomio
2 3 4
2 3 y y y + Para ello escribimos la
sentencia Solve[y4 - 3y3 + 2y2 == 0,y]
2. Vamos a intersectar las circunferencias x + y =1 y x +(y - 1) =1 Para ello
escribimos la sentencia Solve[{x2 + y2 == 1,x2 + (y - 1)2 == 1}, {x, y}]
3. Sabiendo que la ecuacin
x
e = 3x tiene una raz prxima a 1 vamos a hallarla
escribiendo FindRoot[Ex == 3x, {x, 1}]
Ejercicio 1.2
1. Resolver las siguientes ecuaciones, para la variable x
18
a) 0 6 5 5 5
2 3 4
+ + x x x x b) ax + bx + c =0 c) ax + b = c
Adems para los apartados b) y c) obtener los valores de los parmetros para los que tienen
solucin (utilizar tanto Solve como Reduce y observar la diferencia).
2. Resolver el siguiente sistema en las variables x e y
x + y =1 x + y = a
obteniendo los valores del parmetro para los que tiene solucin (utilizar tanto Solve como
Reduce y observar la diferencia).
3. Hallar la raz de la ecuacin cos x = 3senx prxima a 0.
Observacin 1.3 Para mostrar los resultados de Solve y Reduce es necesario conocer los
operadores lgicos que se explican a continuacin.
1.1 Operadores lgicos
Mathematica a veces necesita mostrar resultados en los que intervienen proposiciones
lgicas. Para este tipo de cosas es necesario conocer los siguientes smbolos:
== igualdad
desigualdad
&& conjuncin (y)
|| disyuncin (o)
Ejemplo 1.4
1. La expresin a == 2 || a == 3 || a == 4 significa a igual a 2 o a igual a 3 o a igual a 4.
2. La expresin a 2 && a 3 && a 4 significa a distinto de 2 y a distinto de 3 y a
distinto de 4.
2. Sistemas de ecuaciones lineales
Para resolver sistemas de ecuaciones hemos usado ya los comandos Solve y Reduce
Cuando las ecuaciones son lineales Mathematica puede usar tambin LinearSolve y
NullSpace
El primero acta as: si tenemos un sistema de ecuaciones, dado en forma matricial de la
forma mx=b donde la matriz de coeficientes del sistema es m y el vector de trminos
independientes es b ejecutando la sentencia LinearSolve[m,b] obtendremos una solucin
del sistema (si ste es compatible). En caso de que sea incompatible el programa nos lo
dir. Ya tenemos una forma de ver si un sistema lineal es SC o SI: con LinearSolve Nos
interesamos ahora por determinar si un SC es SCD o SCI. Para ello utilizaremos el
Ejercicio 14 de la hoja 2, en el que obtenamos la solucin general de un SC a partir del
sistema homogneo asociado (es decir, el sistema lineal homogneo que tiene la misma
matriz de coeficientes): la solucin general del sistema se obtiene sumando a una solucin
particular soluciones del sistema homogneo asociado. Cuando este sistema homogneo
tenga alguna solucin no nula entonces el SC inicial ser SCI, y cuando no ocurra as ser
19
SCD. Tecleando NullSpace[m] obtenemos una base de este sistema homogneo asociado,
si ste es no nulo.
Ejemplo 2.1 Discutir y resolver, en su caso, los siguientes sistemas de ecuaciones lineales:
1.

'

+

2 2 2
3 3 2
y x
y x
Tecleando LinearSolve[{{2,-3},{2,2}},{-3,2}] determinamos una solucin particular (0, 1)
del sistema (por lo que vemos el sistema es compatible). A continuacin ponemos
NullSpace[{{2,-3},{2,2}}] y vemos que el sistema homogneo asociado tiene solucin nula
(la respuesta del programa es que este espacio vectorial no tiene ninguna base). Concluimos
que es un SCD cuya nica solucin era el vector (0, 1).
2.

'


+

2 4 2
0
1 3 2
z y x
z y x
z y x

Para determinar una solucin del sistemas tecleamos
LinearSolve[{{1,-2,-3},{-1,-1,1},{2,-1,-4}},{1,0,2}] y observamos que el programa nos
responde que no tiene solucin. Por tanto es un SI.
3.

'

+ + +
+
2 2
3 2
t z y x
t z y x
Tecleando LinearSolve[{{1,-1,2,-1},{2,1,1,1}},{3,-2}] hallaramos en primer lugar una
solucin particular v0 =(1/3 , - 8/3 , 0, 0)del sistema (y ya de paso sabemos que el sistema
es compatible).
Ahora hallaramos una base de sistema homogneo asociado tecleando
NullSpace[{{1,-1,2,-1},{2,1,1,1}}] En este ejemplo concreto nos saldran dos vectores
u1 =(0, -1, 0, 1) y u2 =(-1, 1, 1, 0) con lo que sabemos ya que estamos con un SCI. De este
modo la solucin general de nuestro sistema lineal est formada por todos los vectores u
que son de la forma u = v0 + u1 + u2, para cualesquier escalares y de R, es decir, los
vectores de la forma
(1/3, 8/3, 0, 0) + (0, -1, 0, 1) + (-1, 1, 1, 0) = (

3
1
, -
+
3
8
, , )
Ejercicio 2.2 Discutir y resolver los siguientes sistemas lineales:
a)

'

+
+
+
2 3
1 2 2 3
2
z y x
z y x
z y x
b)

'

+
+ + +
+
+ + +
5 2 2 2
1 6
6 3
0 2
t z y x
u t y x
u t y x
u t z y x
c)

'

+ +
+ + +
+ + +
+ + +
4 5 7 3
101 10 4 2
48 4
45 3 2
t z y x
t z y x
t z y x
t z y x

Saber resolver sistemas lineales nos permite hacer algunas cosas ms relacionadas con
vectores. As por ejemplo, para saber si un vector se pone o no como combinacin lineal de
otros, y, en su caso, hallar los escalares que permiten hacer esto, lo que tenemos que hacer
es precisamente resolver un sistema lineal. Un caso particular de esta situacin se presenta
20
cuando queremos hallar las coordenadas de un vector en una base, o, incluso, cuando
queremos hallar la matriz cambio de base de dos bases de un espacio vectorial.
Ejercicio 2.3 Responder a las siguientes preguntas:
1. Comprobar si el vector (1, -1, 0, 2) es combinacin lineal de los vectores (0, -2, 3, 1) y
(1, 0, 0, 1), y en caso afirmativo, hallar los escalares que permiten dicha combinacin
lineal.
2. Utilizando comandos que ya se han visto, crear una sentencia de Mathematica que
permita hallar las coordenadas de un vector u respecto de una base B.
3. Hallar las coordenadas del vector (1, -1, 0) en la base {(1, 2, 3), (1, 3, 0), (3, 2, 3)} de
R3.
4. Utilizando comandos que ya se han visto, crear una sentencia de Mathematica que
permita hallar la matriz cambio de base de dos bases de R3 , B1 y B2, slo con introducir
las matrices cuyas filas son los vectores de estas bases.
5. Dadas las bases B1 = {(1, 0, 1), (1, 1, 0), (0, 1, 1)} y B2 = {(1, 2, 3), (1, 3, 0), (3, 2, 3)}
de
3
R
hallar las matrices cambio de base
2 1B B
M y
1 2B B
M .
21
PRCTICA 5: Graficas en 2 y 3 dimensiones.
INTRODUCCIN
EL objetivo que persigue esta prctica es presentar una breve introduccin a la
representacin grfica en 2 y 3 dimensiones. Las opciones de las que dispone Mathematica
a la hora de representar un grfico son numerosas, nosotros intentaremos presentar las de
uso ms comn.
GRFICOS EN DOS DIMENSIONES
Comenzaremos con la representacin de funciones reales de una variable. Si f es la funcin
a representar el comando que se utiliza es Plot[f[x],{x,
x
min
, x
max}, opciones] donde {x,
x
min
, x
max} representa el intervalo en el que queremos la representacin y las opciones
sern una serie de comandos que nos permitirn variar el diseo del grfico modificando
colores, grosor de lneas, leyendas, etc...
Mathematica decide automticamente cul es la escala ms apropiada para que la
representacin se vea lo mejor posible.
Veamos ejemplos
Plot@x^2- 4 x+5, 8x, - 5, 5<D
Plot@Sin@xD, 8x, - 2 Pi, 2 Pi<D
Cuando se le especifica un dominio que no corresponde con el de la funcin, el programa
se quejar por estar evaluando cosas sin sentido, pero nos dar la representacin de aquella
parte del dominio especificado que coincida con el real de la funcin.
Plot@Log@xD, 8x, - 2, 2<D
El programa representa las asntotas verticales.
Plot@x^2Hx- 5L, 8x, - 20, 20<D
Podemos representar varias funciones a un tiempo simplemente escribindolas en forma de
vector, por ejemplo
Plot@8Sin@xD, Sin@2 xD, Sin@x2D<, 8x, - 2 Pi, 2 Pi<D
Como puedes observar puede resultar complejo identificar la grfica que corresponde con
cada funcin. Podemos solventar este problema y otros similares utilizando las opciones del
comando Plot que nos permiten modificar algunos aspectos del grfico como color, grosor
de lneas, etiquetas, leyendas, etc..
Por ejemplo, la opcin PlotStyle permite escoger el color de la grfica, el grosor de la
misma y nos permite utilizar grficas punteadas. As podemos escribir
22
Plot@8Sin@xD, Sin@2 xD, Sin@x2D<, 8x, - 2 Pi, 2 Pi<,
PlotStyle 8Thickness@.02D, Thickness@.008D, Thickness@.004D<D
o tambin modificar el color de salida con Hue[n entre 0 y 1]
Plot@8Sin@xD, Sin@2 xD, Sin@x2D<, 8x, - 2 Pi, 2 Pi<,
PlotStyle 8Hue@0.6D, Hue@0.8D, Hue@1D<D
o con la combinacin de rojo, verde y azul con RGBColor[a,b,c] con a,b y c nmeros entre
0 y 1
Plot@8Sin@xD, Sin@2 xD, Sin@x2D<, 8x, - 2 Pi, 2 Pi<,
PlotStyle 88RGBColor@1, 0, 0.6D<, 8RGBColor@0, 0.8, 0D<,
8RGBColor@0.3, 0, 1D<<D
o utilizar Dashing[{a}] con a entre 0 y 1para obtener una grfica de puntos
Plot@8Sin@xD, Sin@2 xD, Sin@x2D<, 8x, - 2 Pi, 2 Pi<,
PlotStyle 88RGBColor@1, 0, 0.6D<, Dashing@80.01<D, Dashing@80.03<D<D
Options@PlotD
entonces podemos mejorar lo anterior
Plot@8Sin@xD, Sin@2 xD, Sin@x2D<, 8x, - 2 Pi, 2 Pi<,
PlotStyle 8Hue@0.6D, Hue@0.8D, Hue@1D<,
PlotLabel 8"SENOS DE DISTINTOSANGULOS"<,
ImageSize8300, 500<, Frame- >True,
FrameLabel- >8"Radiames", "senHxL,senH2xL,senHx2L"<,
RotateLabelTrueD
Ejercicios 5.1 Representar las siguientes funciones en los intervalos que se indican y
prueba distintas opciones de grfico.
1.
) ( ) ( x Cos x f
en el intervalo [-Pi, Pi]
2. x x x f 2 ) (
3
en el intervalo [-1, 1]
3.
x
e x f ) ( en el intervalo [0, 4]
4.
2
1 ) ( x x f en el intervalo [-1, 1]
5. } { ) ( ), ( ) ( x Cos x Sen x f en el intervalo [-Pi, Pi]
6. } { ) ( ), ( ) ( x Cos x Sen x f en el intervalo [0, 2Pi]
7. ) 3 ( ). ( ) (
2
x Cos x Sen x f en el intervalo [-Pi, Pi]
23
8.
x
x f
1
) (
en el intervalo [-1, 1]
CURVAS EN FORMA PARAMTRICA
Mathematica permite la representacin de curvas parametrizadas mediante el uso del
comando ParametricPlot[{u[t],v[t]}.{t max min
, t t
}] muy similar al comentado arriba.
Si queremos, por ejemplo, representar la curva Cardioide cuya parametrizacin puede ser
f(t)=(2cost+cos(2t),2sent+sen(2t)) pondremos
ParametricPlot@82 Cos@tD+Cos@2 tD, 2 Sin@tD+Sin@2 tD<, 8t, 0, 2 Pi<D
Como siempre debemos tener en cuenta la proporcin que existe entre las unidades de los
ejes (AspectRatio) o podemos encontrar resultados inesperados. Por ejemplo, al representar
una circunferencia de radio 5
ParametricPlot@85 Sin@tD, 5 Cos@tD<, 8t, - Pi, Pi<D
Para susbsanarlo basta con aadir la opcin AspectRatio -> Automatic
ParametricPlot@8Sin@tD, Cos@tD<, 8t, - Pi, Pi<, AspectRatio AutomaticD
GRFICOS EN TRES DIMENSIONES
Mathematica representa tambin curvas y superficies en
3
R
, y el tratamiento es muy
similar al que hace para los grficos bidimensionales.
Para representar superficies dadas en la forma z=f(x,y) en el rectngulo
[ ] [ ]
max min max
, , y y x x x
nin
utilizaremos el comando
Plot3D[f[x,y],{x, max min
, x x
},{y, max min
, y y
}] .
Por ejemplo, para representar
2 2
9 ) , ( y x y x z + + en el intervalo [-1,1][-2,2] pondremos
Plot3D@1H9+x^2+y^2L, 8x, - 1, 1<, 8y, - 2, 2<D
Otro ejemplo
Plot3D@12 Cos@Hx^2+y^2L4DH3+x^2+y^2L, 8x, - 5, 5<, 8y, - 5, 5<D
Los grficos en 3D admiten mltiples opciones como en el caso 2D
Options@Plot3DD
Por mencionar alguna de ellas diremos que Mesh dibuja (True) o no (False) la malla sobre
la que se representa la grfica, PlotPoints representa el nmero de puntos que se utilizarn
para representar la grfica, a mayor nmero de puntos tendremos grficas ms "suaves"
24
pero el tiempo de representacin puede aumentar considerablemente, ViewPoint establece
el punto de vista desde el que se dibuja la grfica, podemos ponerlo manualmente o con la
ayuda que proporciona el programa en Input>3DViewPointSelector.
Veamos algn ejemplo con la grfica anterior
Plot3D@12 Cos@Hx^2+y^2L4DH3+x^2+y^2L, 8x, - 5, 5<, 8y, - 5, 5<,
MeshFalse, PlotPoints 60D
Mirndola desde abajo
Plot3D@12 Cos@Hx^2+y^2L4DH3+x^2+y^2L, 8x, - 5, 5<, 8y, - 5, 5<,
MeshFalse, PlotPoints 60, ViewPoint- >82.530, - 2.030, - 9.10<D
No podemos representar dos superficies al mismo tiempo con Plot3D, necesitamos el
comando Show que explicaremos ms adelante. Sin embargo si es posible representar
varias grficas si se hace en forma paramtrica.
CURVAS Y SUPERFICIES EN FORMA PARAMTRICA

Mathematica permite la representacin de curvas parametrizadas en
R
3
mediante el uso del
comando ParametricPlot3D[{u[t],v[t],w[t]}.{t, max min
, t t
}] y del mismo modo la
representacin de superficies parametrizadas con
ParametricPlot3D[{u[t,s],v[t,s],w[t,s]}.{t, max min
, t t
},{s, max min
, s s
}]
Por ejemplo
ParametricPlot3D@83 Cos@tD, 3 Sin@tD, t<, 8t, - 3 Pi, 3 Pi<D
ParametricPlot3D@84 Cos@tD- Sin@sDCos@tD, 4 Sin@tD- Sin@sDSin@tD, Cos@sD<,
8s, - Pi, Pi<, 8t, - Pi, Pi<D
Y podemos representar varias grficas juntas, por ejemplo el toro anterior y el plano
parametrizado x=t+s, y=1-t, z=-1+s
ParametricPlot3D@
88t+s, 1- t, - 1+s<, 84 Cos@tD- Sin@sDCos@tD, 4 Sin@tD- Sin@sDSin@tD,
Cos@sD<<, 8s, - Pi, Pi<, 8t, - Pi, Pi<D
REPRESENTACIN DE SUPERFICIES A PARTIR DE PUNTOS
El comando ListPlot3D[array] nos permite representar una superficie a partir de una serie
de valores que se toman como peso. Por ejemplo
25
lu=Table@Cos@ijD, 8i, - 1, 1, 0.2<, 8j, - Pi, Pi, Pi10<D;
ListPlot3D@luD
EL COMANDO SHOW
El comando Show permite mostrar a la vez grficas de funciones con distinto dominio. Por
ejemplo
g1=Plot@Sin@xD, 8x, 0, 2 Pi<D
g2=Plot@x^3- x, 8x, - 3, 3<D
Show@g1, g2D
El uso combinado con GraphicsArray nos permite dibujar las grficas una junto a otra.
Show@GraphicsArray@8g1, g2<DD
Funciona igual con grficos en tres dimensiones.
Ejercicios 5.2 Representar las siguientes funciones en los intervalos que se indican y
prueba distintas opciones de grfico.
1.
) * ( ) , ( y x Cos y x f
en el intervalo [-Pi, Pi]x [-Pi, Pi]
2.
2 2
) , ( y x y x f en el intervalo [-1, 1] x [-1, 1]
3.
) ( ). ( ) , ( y Cos x Sen y x f
en el intervalo [-Pi, Pi]x [-Pi, Pi]
4.
{ } ) ( tan ). ( ) ( ), ( tan ) ( ) ( ) ( t g Arc t Sen t Cos t g Arc t Sen t Sen t g + +
intervalo [-
20Pi,20Pi]
5.
}

'


) ( ), ( ) (
20 20
t Cos e t Sen e t f
t t
en el intervalo [0,20 Pi]
6. } { ) ( ), ( ), ( ) (
) 1 ( 1
t Cos e t Cos t Sen t g
t t +
en el intervalo [0, 2Pi]
7.

'

10
), ( ), ( ) (
t
t Cos t Sen t g
en el intervalo [-4Pi, 4Pi]
8.
{ } ) ( ) ( ), ( ) ( ), ( ) , ( u Sen v Sen u Cos v Sen v Cos v u g
en el intervalo [0,2Pi] x [0,2Pi]
9.
{ } ) ( ), ( , ) , ( s Cos s Sen t s t g
en el intervalo [0,3] x [0,2Pi]
26
PRCTICA 6: Funciones de una variable (lmites, derivadas,
polinomios de Taylor e integrales)
6.1 Definicin de funciones.
Podemos distinguir dos casos:
1. Funcin No definida a trozos. Por ejemplo f(x) = sen(x) que la introduciremos
en Mathematica de la forma que ya definimos en las primeras prcticas, es decir:
f[x_] = Sin[x]
2. Funciones definidas a trozos. La funcin no tiene una nica expresin vlida en
todos los puntos del dominio. Por ejemplo
a. Dos trozos

'

>
+

0 . . . . . . . . , . . . . . . . . . 1
0 . . . . , . . . . 1
) (
2
s i
s i x
x f
con Mathematica podemos definirla de la siguiente manera:
f[x_] := If[x<=0, x +1, 1]
El comando If[condicin,procesoV, procesoF] funciona realizando el
procesoV si la condicin es verdadera y procesoF si la condicin es falsa.
b. Mas de dos trozos. Para este caso utilizamos el comando
Which[condicin1,proceso1,.., condicinN,procesoN,True,procesoM]
que realiza el procesoj si se cumple la condicinj. True significa que: Si no se
cumple ninguna de las condiciones anteriores, se realiza el procesoM
Ejercicio 6.2 Definir con Mathematica la funcin siguiente:

'

<
< <

caso otro en
x
x
x
x
si
x f
.. .. ,..... 3 / 1
1 1 ,.........
3
1 3 ,.......
9
3 .... ,.... 1
) (
3
2
27
Ejercicio 6.3 Dibujar y estudiar el dominio de las funciones siguientes:
1.
1
1
) (
2

x
x f
2. ) 4 ( ) (
2
x Log x f
3. x x x f 6 ) (
2

4.

'

+
< <

<

1 , . . . . . . . . . 1
1 1 , . . . . . . .
1
) 1 ( 2
1 . . . . , . . . . 2
) (
2
2
x x
x
x
x
s i x
x f
5.

'

+
< <
<

caso otro en x
x Logx
x si x
x f
. . .. ,. ... . 1
1 0 , .. .. .. .
0 . ... , .. .. 1
) (
2
2
6.2. Lmites
La sentencia Limit[funcion[variable],variable->punto] proporciona el lmite de la
funcin funcion cuando variable tiende hacia punto (el smbolo -> se consigue poniendo
primero un guin y luego el signo de mayor que; puede sustituirse por la flecha de la tabla
de smbolos que aparece al principio).
Ejemplo 6.4 Teclear la siguiente sentencia Limit[(x - 1)/(x2 - 1),x- > 1]
Ejercicio 6.5 Calcular los siguientes lmites:
1.
1 2
1
2
2
lim

>
x x
x
x
2.
x
x sen
x
5
lim
0 >
3.
R p
px senpx
x senx
x

+
+
>
,
cos 1
cos 1
lim
0
4.
) 3 ).( (cos log
1
2
1 ) 3 cos 1 (
2 2
4
4
2
0
lim
x x x
x
x
x
+

,
_

+
>
28
5.
senx x
senx x
x
+

>
lim
6. ( ) x sen
x
Cosx
2
1
0
lim
>
7.
2 3 2 3
lim
x x x x
x
+
>
Ejercicio 6.6. Dibujar las siguientes funciones y examinar si son continuas:
1.

'

<

2 . . . . . . . . . . .
2 . . . . , . . . . 3
) (
2
s i x
s i x
x f
2.

'

1 . . . . . . . . . . . 2
1 . . . . , . . . .
1
1
) (
2
s i
s i
x
x
x f
3.

'

< <

1 ....... .. ..........
2
1 1 ...... .....
1
1
1 .... ,.... 1
) (
2
si
x
x si
x
x
x si x
x f
4.

'

>
+

0 . . . . . . . . . . . 3
0 . . . . , . . . . 2
) (
2
s i x
s i x
x f
Ejercicio 6.7. Estudiar la continuidad de las funciones anteriores.
6.3. Derivadas
Para derivar funciones de una variable podemos usar el comando D Su formulacin es la
siguiente: D[funcion,variable]
Para hallar la derivada de orden n de una funcin f es suficiente con ejecutar la sentencia
D[f[variable],{variable,n}]
Ejemplo 6.8 Ejecutar las siguientes sentencias
1. D[x3 - 2x,x]
2. D[x3 - 2y,y]
29
3. D[ArcSin[(x - 1)/4],x]
4. D[ArcTan[(3x +1)/2],x]
5. D[Exp[Cos[t]2 - t4],t]
6. f[x ]= xx
7. D[f[u],u]
8. g[y ]= f[3y]
9. D[g[u],u]
10. D[ArcCos[x],{x,5}]
11. D[Exp[x2],x,x,x]
Ejercicio 6.9 Calcular las derivadas de rdenes 3, 6 y 10 de las funciones que se indican a
continuacin:
1. ) ( ) (
2
x sen x f
2.
) log(cos ) ( x x f

3.
2
1
). ( ) (
x
e x sen x f
+

4.
2
2
1
1
) (
x x
x x
x f
+
+

5.
2
3
) log ) cos 1 (( ) (

+
x
x x x f
Ejercicio 6.10. Hallar la pendiente y la ecuacin de la recta tangente a la grfica de las
siguientes curvas en los puntos que se indican:
1.
2 3 ) ( + x x f
en (0,2)
2. 1 ) (
2
x x f en (1,0)
3. x x x f 2 ) (
3
en (1,1)
4.
) 2 3 ( ) ( + x sen x f
en (-2/3, 0)
5. ) 2 3 ( ) (
2
x Log x f en (1,0)
6. ) cos( ) (
2 4
x x x f en (0,-1)
Ejercicio 6.11. Calcular mediante la regla de Lpital los siguientes lmites.
1.
2
0
) ( 1
lim
x
x Cos
x

>
2.
2
0
) ( ) (
lim
x
nx Cos mx Cos
x

>
3.
) ( tan
2
) (
1
2
lim
0
x g
x
x
x sen
x
x
+

>
4.
) (
) ( tan
lim
0
x sen
x g x
x
+
>
30
6.4. Polinomios de Taylor
Las series de potencias son frmulas aproximadas que juegan el mismo papel con respecto
a las expresiones algebraicas como los nmeros aproximados con las expresiones
numricas. Mathematica le permite realizar operaciones en series potencias, en todos los
casos mantiene el orden apropiado o el grado de precisin para las series de potencias
resultantes.
Como sabemos la aproximacin de funciones por medio de polinomios es lo que se conoce
como desarrollos de Taylor. Si los desarrollos tienen un nmero finito de sumandos, la
correspondiente aproximacin es un polinomio que se denomina polinomio de Taylor.
Si lo que queremos es hallar el polinomio de Taylor de f(x) en un entorno del punto a de
grado n debemos ejecutar la sentencia Normal[Series[f[variable],
{variable,centro,n}] ]
Para calcular el desarrollo de Taylor de una funcin f(x) en un entorno del punto a, de
orden n, escribiremos s[x_] = Series[f[x],{x,a,n}]
Ejemplo 6.12 Teclear la siguiente sentencia Normal[Series[Cos[x], {x, 0,5}] ]
Ejemplo 6.13 Teclear la siguiente sentencia Series[Cos[x], {x, 0,5}]
Ejercicio 6.14 Calcular los polinomios de Taylor de las siguientes funciones en los puntos
que se indican:
1. ArcTanx x e x f
x


cos . ) (
1
en el punto 1 de grado 6
2.
2
2
3
1
) ( cos
) (
x
x en ar
x g

en el punto 0 de grado 12
3.
) 11 6 log( ).
3
( cos ) (
2
x
x
x h

en el punto 2 de grado 5
4.
Cosx x f ) (
en el punto 0 de grado 8
5.
Tagx x f ) (
en el punto 0 de grado 9.
6.
x
e x f ) ( en el punto 0 de grado 6
El polinomio de Taylor es una herramienta de aproximacin local. Si representamos
conjuntamente las funciones y el polinomio podremos comprobar dicha aseveracin.
En el caso siguiente tenemos la representacin grfica de Cosx y de su polinomio de Taylor
31
-4 -2 2 4
-1
-0.5
0.5
1
1.5
2
2.5
Ejercicio 6.15 Representar grficamente las funciones 5 y 6 del ejercicio anterior y sus
polinomios de Taylor y comprobar grficamente la aproximacin.
El desarrollo en serie de Taylor se utiliza para calcular el valor aproximado de una funcin
en un punto con un nivel de error que podemos predeterminar de antemano.
Ejemplo 6.16 Calcular el valor de (Cos(0,5)) con un error menor que 0.00001
Definimos la funcin f(x)= (Cos(x))
f@x_D=HCos@xDL^H13L
Calculamos el polinomio de Taylor de f(x) en 0 de grado 5.
p@x_D=Normal@Series@f@xD, 8x, 0,5<DD
Podemos calcular la diferencia entre el valor de la funcin y el polinomio en el punto x=0.5
y tendremos el error que se ha cometido por la aproximacin.
R@x_D=Abs@f@xD- p@xDD
El procedimiento habitual en saber cual es el menor grado del polinomio que debemos
utilizar para que la aproximacin est acotada.
En el caso anterior sera suficiente con un polinomio de grado 2?. Haciendo los pasos
anteriores vemos que nos sale 0.000927664. Por tanto no es suficiente con un polinomio de
grado dos.
Sera suficiente con un polinomio de grado 3?.
Problema 6.16 Encontrar un polinomio de grado cuatro que aproxime a la funcin f(x) =
cosx en un entorno de a = 0 y acotar el error cometido. Utilizar el resultado para dar una
aproximacin de Cos(0.01).
6.5. Integrales
Para calcular integrales de funciones de una variable podemos usar el comando Integrate.
Su formulacin es la siguiente:
Integrate[funcion,variable] calcula una primitiva de la funcin indicada
Integrate[funcion,{variable,extremoizquierdo,extremoderecho}] calcula la integral
definida de la funcin indicada en el intervalo indicado
32
Ejemplo 6.17 Ejecutar las siguientes sentencias
1. Integrate[x3 - 2x, x]
2. Integrate[Cos[x]8,x]
3. Integrate[ArcTan[x],x]
4. Integrate[Sqrt[3t - t2],t]
5. Integrate[x/((x2 + 1) * (x - 2)3),x]
6. Integrate[(x3 - 2x)/((x2 - 1) * (x - 2)2 * (x2 + 2x +2)),x]
7. Integrate[Cos[x]3,{x,-Pi,Pi}]
8. Integrate[s * Log[s],{s,0.1,1}]
6.4 Clculo de reas de recintos.
Ejemplo 6.18 Calcula el rea comprendida entre
3
) ( x x f y la recta y = 4x, ambas en
el primer cuadrante.
Ejercicios 6.19
1. Hallar el rea comprendida entre la parbola 4y = x y la funcin
4
8
) (
2
+

x
x f
2. Calcular el rea finita limitada por la curva de ecuacin 4
2
x y y el eje
0 y
.
3. Calcular el rea encerrada por la grfica de
1
) (
2

x
x
x f y el eje OX y las rectas x=2 y
x =3
4. Calcula el rea encerrada por la curva
xLogx y 2
, el eje de abscisas y las rectas x = a
y x = 1. Calcula el lmite de esta rea cuando a tiende a cero.
5. Calcula el rea de la regin del plano limitada por la curva x x x y +
2 3
2 y su recta
tangente en el origen.
6. Hallar la derivada en t = Pi/2 de la funcin

t
xdx t F
0
cos ) (
7. Hallar F(1) siendo F las funciones siguientes:
a.

+
+
1 3
1
) cos 2 ( ) (
t
dx x x t F
b.

+

2
2
) 1 (
3
) 1 3 ( ) (
t
t
dx x t F
33

Вам также может понравиться