Source: https://es.scribd.com/doc/52727799/practicas2005
Timestamp: 2016-10-25 17:27:11+00:00

Document:
NavegarNavegarInteresesBiography & MemoirBusiness & LeadershipFiction & LiteraturePolitics & EconomyHealth & WellnessSociety & CultureHappiness & Self-HelpMystery, Thriller & CrimeHistoryYoung AdultNavegar porLibrosAudio librosCómicsPartiturasExplorar todoSubirIniciar sesiónRegistrarseLibrosAudio librosCómicsPartituraspracticas2005Uploaded by Noi Zamora7,3K visitaDescargaInsertarSee MoreCopyright: Attribution Non-Commercial (BY-NC)Precio de lista: $0.00Download as PDF, TXT or read online from ScribdFlag for inappropriate contentPrácticas con MathematicaFundamentos Matemáticos de la Ingenieria I.
f[x_]=x^2 f[2] Out [] =4 El carácter _ (referido como blanco) en la parte de la izquierda es muy importante. Sin[2.1] factorial[4] Out [] =24 En este caso el signo igual (=) debe ir precedido por dos puntos (:). argumentos de los requeridos Mathematica devuelve un mensaje de error y como output la expresión sin evaluar. Mathematica es programable y. factorial[x_ ]:= x factorial[x . Evidentemente. estos van separados por comas. No hay que poner un blanco en la parte de la derecha de la deﬁnición. podemos añadir funciones a Mathematica. no todas las funciones requieren un único argumento. por tanto. 6
. Aquí deﬁnimos la función g(x. g[2. Un ejemplo muy sencillo es deﬁnir una función que eleve al cuadrado su argumento. o menos.x] Si una función es invocada con más.que se representa por Sin. 3] Out [] =6 En algunas ocasiones necesitamos una deﬁnición aplazada. Una función puede tener más de un argumento. Por ejemplo. El concepto análogo al concepto matemático de variable en la terminología de Mathematica es el término argumento.2
Funciones no incorporadas
Como se ha indicado en la introducción. Cuando una función requiere más de un argumento. Aquí calculamos la derivada de x2 : D[x^2. de forma que cuando queremos calcular sin(π/2) escribimos Sin[Pi/2].1. 3]
1. cuando deﬁnimos la función factorial factorial[0] = 1.y_]= x y. y) = xy: g[x_.
2}] Out [] =25
1. 1. para hacer la suma de los 10 primeros números naturales impares.41421 Por defecto Mathematica trabaja con números de seis cifras. vmin. Los iteradores de la forma var. 10}] Out [] =55 En cambio. vmax ejecutan una función para var = vmin hasta var = vmax . Podemos cambiar el número de dígitos con los que Mathematica nos presenta la aproximación: N[Sqrt[2]. {i. Por ejemplo. incrementando var en 1 en cada iteración. Como veremos más adelante muchos problemas se han de resolver de forma aproximda. utilizar el comando anterior para calcular varias precisiones.20] Out [] =1. a menudo. 10. 7 √ 2.4142135623730950488 Problema 1 Como ejemplo. Mathematica utiliza el comando N para dar una aproximación de un resultado numérico con la precisión deseada. y π con
. para hacer la suma de los diez primeros números naturales. hacemos Sum[i. no es operativa. Por ejemplo.3
i=n m P
f (i) en Mathematica se expresa como
Sum[f[i]. paso}] La función Sum tiene dos argumentos: la expresión sobre la que se efectúa la suma y un iterador. 1. para obtener una aproximación utilizaremos el comando N. En nuestro caso utilizaremos tres o cuatro elementos para un iterador. hacemos Sum[i. para calcular la raíz cuadrada de 2 introducimos Sqrt[2] √ Out [] = 2 En esta situación. {i.2
Mathematica trabaja con aritmética exacta pero. e. N[Sqrt[2]] Out [] =1. m}] En su forma más general la función Sum tiene la siguiente sintaxis: Sum[expr.1. esta situación no es posible o.1. Un iterador es una lista como mínimo de un elemento y como máximo cuatro. n. {i. min. max. {i. al menos.
. La función Apart transforma un resultado en fracciones simples: x/((x+2)(x-2)) Apart[%] 1 1 + Out [] = 2 (x − 2) 2 (x + 2) La función Together combina dos o más fracciones con común denominador y simpliﬁca los factores comunes: Together[%] x Out [] = (x − 2) (x + 2) El comando D calcula la derivada de una función respecto de una variable: Cos[E^x].. Estas reglas también las siguen las funciones y constantes predeﬁnidas en Mathematica como por ejemplo Sin[x] Tan[0] Log[2] E Pi I Sqrt[8] ..3
Posibilidades simbólicas y algebraicas
Además de trabajar con expresiones numéricas. .1. éstos van separados por comas. • Si el comando admite más de un argumento. • Los argumentos van siempre entre corchetes [ ]. Antes de ver algunos ejemplos comentaremos la sintaxis de los comandos que permiten esta manipulación. D[%] Out [] =−ex sin ex 8
Veremos algunos comandos que sirven para operar con expresiones algebraicas: Expand[(a+b)^2] Out [] =a2 + b2 + 2ab Factor[x^2-y^2] Out [] =(x − y) (x + y) Cuando escribamos el producto de dos variables x e y se ha dejar un espacio en blanco entre las dos o poner un ∗. Mathematica puede manipular expresiones algebraicas. Esto no es necesario cuando escribimos el producto de un número por una variable. • La primera letra siempre se escribe en mayúscula.
x− > 0] Out [] =∞ Para resolver ecuaciones Mathematica tiene el comando Solve: Solve[xˆ2 − 1 == 0. x − yˆ2 == 0}. x] Out [] ={x → 1}{x → −1} Un sistema de ecuaciones se expresa mediante una lista de ecuaciones y una lista de variables: Solve[{xˆ2 + y == 0.3. Este comando admite argumentos opcionales que nos permiten calcular derivadas segundas.
b a − a−b a+b
Problema 3 Factorizar los polinomios x2 − 4x − 5 x3 + x2 + x + 1 3x2 − 6x + 1 Problema 4 Descomponer en fracciones simples 1 n (n + 1) n2 + 1 n4 + n2 + 1 Problema 5 Calcular las derivadas primera y segunda de la función xx . 9
1. terceras. : D[x^2 E^x. Limit[1/x.2}] Out [] =2ex + 4xex + x2 ex Para calcular límites tenemos el comando Limit.{x. Para este tipo de ecuaciones utilizaremos el comando NSolve para obtener una aproximación de las soluciones: NSolve[xˆ5 − xˆ2 + 1 == 0.Hay que prestar atención al escribir esta función porque tanto el coseno como el número e son funciones predeﬁnidas en Mathematica y han de seguir las reglas de sintaxis descritas anteriormente.1
Problemas. y}] El comando Solve no puede resolver de forma exacta ecuaciones polinómicas de grado igual o mayor que cinco. {x. Por ejemplo.
(sin espacios entre / y . El usuario puede deﬁnir sus propias funciones. al evaluar la función substituyendo las variables por los valores deseados ya no debemos escribir el subrayado. por ejemplo. a[n Integer] o a[n Real] 10
. con el comando /.): exp /. ¿Qué ha ocurrido? Como hemos visto en los ejemplos anteriores. las constantes. restringiendo si es conveniente su dominio. Puede constar de una sola letra o de diversas letras. variable2_ . b = 1. Por ejemplo. simplemente aplicaremos una regla o lista de reglas. definición . . pero para evitar problemas es recomendable abstenerse de usar letras mayúsculas en el nombre. variablen_]:=
donde nombre-función es el nombre que asignamos a esa función. al deﬁnir la sucesión a[n_]:= (−1) ˆn n+1
hay que tener en cuenta que el subrayado indica que n es la variable.. Entre corchetes y separadas por comas escribiremos la variable o variables de las que dependerá nuestra función.{a->3. cuya sintaxis es de la forma: nombre-función[variable1_. A continuación podemos escribir el tipo de variable.Problema 6 Calcular la derivada primera de
xy 2 − x3 respecto de x y de y.. b = −2. Para ello no necesitamos deﬁnirla como una función. No obstante.b->-2} Evaluarla en a = 1.4
Supongamos que queremos evaluar la expresión exp= (a ∗ b−a^b)/(a∗b − 1) en a = 3. las funciones y los comandos que Mathematica lleva incorporados tienen su primera letra en mayúscula. En la deﬁnición de la función se ha de escribir obligatoriamente detrás de cada variable el subrayado para indicarle al Kernel que efectivamente es una variable. x2 + y 2 ¶ µ 1 n Problema 7 Calcular el límite de la sucesión 1 + n
Problema 8 Resolver el sistema lineal   x + 2y − 3z = −1 3x − y + 2z = 7  5x + 3y − 4z = 2
1. La forma de deﬁnirlas consiste en utilizar lo que se denomina una assignación.
1.i=i+2. i++ equivale a incrementar el paso en uno. argumento] ejecuta el argumento desde inicio hasta que falla el test. con el incremento que se pida.5
Los iteradores son comandos que nos permiten realizar de forma sencilla procesos que se repiten un número determinado de veces. 10} expresa que la variable n toma los valores del 1 al 10 incrementándose en cada paso una unidad. test. veamos un ejemplo For[i=1. Se puede añadir otro argumento si queremos cambiar el incremento.
1. utilizaremos el comando Clear. 1.Para evaluar la función en n = 5 escribiremos In[] :=a[5] Calcular a10 y a100 con 4 cifras decimales. Utilizando la ayuda de Mathematica y el comando N calcular con varias precisiones √ √ el valor de 3 2 i 5 π. Uno de los más habituales es el comando Do. 10}] Out [] = 2 3 5 7 11 13 17 19 23 29 Como puede apreciarse. x] := n x. La lista {n. incremento. El iterador Table es muy usado para construir tablas 11
.Print[i]] 1 3 5 For[inicio. Otro iterador muy usado es For.i≤5.4. n ∈ N. 1. {n. Mathematica imprime en la pantalla (Print) los 10 primeros números primos (Prime). Como ejemplo vamos a ejecutar Do[Print[Prime[n]]. Si ahora queremos cancelar una asignación. Recordemos que si queremos que el resultado aparezca en forma decimal hemos de usar el comando N.1
√ Problema 9 Deﬁnir raiz[n.
min. producir gráﬁcos de nivel y de densidad. {i. max. n2 n = 1.
. y calcular
Las posibilidades gráﬁcas de Mathematica han sido una de las causas de su éxito. While. bn desde n = 10 hasta n = 20 : 2. b1000 . la sintaxis y el funcionamiento de los cuales los podemos encontrar con los comandos de ayuda de Mathematica. b10 . Trabajaremos sobre todo con la representación paramétrica de curvas y superfícies. √ 2 con una precisión desde 1 hasta 10 cifras deci-
1. paso}] Otros iteradores. . en particular de funciones de dos variables. b100 . 2. Por medio de Mathematica podemos dibujar funciones y datos en dos o tres dimensiones. además de dibujar objetos y ﬁguras arbitrarias. Dedicaremos una práctica a explorar algunas de las posibilidades que Mathematica ofrece a la hora de hacer gráﬁcas. . Problema 10 Deﬁnir bn := 1 .Table[expr. Estaremos interesados sobre todo en la ayuda que puede prestar la interpretación gráﬁca en el cálculo de los puntos extremos de funciones. b10000 : Problema 11 Muestra el valor de males. bn desde n = 10 hasta n = 100 pero con n múltiplo de 10 : 3.
y las matrices.1 Resolviendo problemas con el Mathematica
En esta sección repasaremos algunas de las posibilidades que ofrece Mathematica para resolver problemas de álgebra lineal. Así. IdentityMatrix[n] genera la matriz identidad n × n.1. {m}. Con lo que aquí se exponga. resolución de sistemas de ecuaciones lineales. b) y (c. {n}] genera una matriz cero. etc.b}. diagonalización. El comando MatrixForm[matriz] 13
2. La idea será ofrecer una lista de los comandos necesarios y mostrar ejemplos que ilustren su utilización. cambios de base en espacios vectoriales. como listas de listas.
2. estudio de aplicaciones lineales con determinación de los subespacios núcleo e imagen. d).d}} representa la matriz 2 × 2 cuyas ﬁlas corresponden a cada una de las ﬁlas de la matriz: (a. Table[0. por ejemplo. se estará en condiciones de resolver la mayoría de los problemas elementales que se pueden plantear en un primer curso de álgebra lineal: dependencia e independencia lineal. la lista de listas {{a. Algunas de las funciones incorporadas que Mathematica utiliza para construir matrices son las siguientes: DiagonalMatrix[lista] genera una matriz diagonal con los elementos de lista en la diagonal. {c. Por ejemplo.1
En Mathematica los vectores se representan mediante listas.
una matriz es una lista de vectores. La mayoría de las funciones matemáticas en Mathematica se pueden aplicar por separado a cada elemento de una lista. Mathematica admite las operaciones del álgebra matricial (suma. Mathematica dispone de algunas órdenes para hacer referencia a los elementos de la matriz: m[[i. para todas las funciones que tienen el atributo Listable. proporcionan resultados muy diferentes. c m1. producto por escalar) siempre que las dimensiones sean las correctas. j]] proporciona el elemento i. Ahora bien. todas las ﬁlas han de tener la misma longitud. i] da la ﬁla i-ésima de m. Otros comandos que se utilizan habitualmente al trabajar con matrices son: Transpose[m] para calcular la traspuesta de la matriz m. pues aunque se representan de igual forma. j de la matriz m. m1. Esto ocurre.imprime la matriz en forma de tablero bidimensional. se puede controlar el número de cifras signiﬁcativas a manejar. en particular. representando cada una de sus ﬁlas. de manera que dichas funciones se pueden aplicar sobre cada elemento de una matriz o un vector: La suma de dos vectores se lleva a cabo elemento a elemento. si en la matriz de entrada algunos elementos son números reales aproximados. Det[m]. Como ya se ha dicho. Por otra parte. m[[i]] o Part[m. Operaciones con matrices y vectores. Mathematica obtiene un resultado numérico aproximado. de manera que los elementos de la matriz formen efectivamente un tablero rectangular. 14
. haciendo así más clara su estructura. k] para calcular la potencia k-ésima de m. siempre que ambos tengan la misma longitud. tienen sentido las operaciones v. tiene sentido escribir m1+m2. como en cualquier otro cálculo numérico. Cálculo del determinante de una matriz cuadrada . Para que se tenga una matriz válida. MatrixPower[m.m2 De igual modo.m1. el programa proporciona la inversa exacta. De hecho. Al multiplicar la inversa por la matriz original debería dar la matriz identidad.v. Así. si m1 y m2 son dos matrices dadas y c es un escalar. si v denota un cierto vector.v. en ese caso.v debiendo tener cuidado con estas dos últimas operaciones. Obsérvese que Mathematica supone implícitamente que el determinante es no nulo.m1. Cuando se le da una matriz cuyos elementos son números exactos o símbolos. El comando Inverse[m] calcula la inversa de la matriz cuadrada m. producto.
el rango de la matriz con el número de ﬁlas no nulas de esta matriz. proporciona una base del subespacio núcleo de la matriz m.2
Para resolver un sistema de ecuaciones lineales dado. varias son las alternativas que Mathematica ofrece. 4x + 6y − z = 0  8x + 12y − 3z = 0 15
. procederemos directamente con los comandos involucrados y analizaremos en detalle algunos ejemplos. Como el estudiante ya está familiarizado con la teoría general de los sistemas de ecuaciones lineales. En muchos casos. donde x es el vector de variables. por tanto. RowReduce[m] transforma la matriz m en otra de ﬁlas reducidas. cuando no se sabe con antelación cuántas variables hay en el problema. mediante combinaciones lineales de las ﬁlas. esto es. Este esquema también es útil a la hora de diseñar algoritmos. puede resultar más adecuado convertir el sistema en una ecuación matricial. y aplicar después operaciones matriciales para resolverlo. Ejercicio 1 Discutir y resolver en su caso los siguientes sistemas:  2x + 3y − z = 0  1. sin embargo. puede ser conveniente escribir todas y cada una de las ecuaciones explícitamente. m es la matriz de coeﬁcientes y b es la matriz de los términos independientes. y después resolverlas usando el comando Solve. NullSpace[m] da un conjunto de vectores cuyas combinaciones lineales satisfacen la ecuación matricial m · x = 0.1.2. Un sistema de ecuaciones lineales se puede escribir en forma matricial como m · x = b.b] da un vector x que resuelve la ecuación matricial m · x = b. En primer lugar. coincidiendo. estamos en disposición de analizar (y resolver en su caso) cualquier sistema de ecuaciones lineales. tal como se hace normalmente en Matemáticas. sobre todo si el número de ecuaciones y de incógnitas es elevado. Se puede obtener también el número de ecuaciones redundantes correspondientes a una matriz particular calculando Length[NullSpace[m]] Con los comandos anteriores y el teorema de Rouché-Frobenius. Las funciones incorporadas que Mathematica ofrece para resolver este tipo de sistemas de ecuaciones son los siguientes: LinearSolve[m.
 y − z − 2t = 1  x − z − t = −2  x + y − 3t = −1  x + 4y + z = b  3x − y + 2z = 1  2x − 5y + az = −2
3. Eigenvectors[m] da una lista de los vectores propios de m (una base de cada subespacio propio). llamados vectores propios.1. Eigenvalues[N[m]] 16
. resolver una ecuación polinomial de grado n.2.
2. El cálculo de los valores propios de una matriz n × n supone. en general. soluciones algebraicas explícitas de una tal ecuación.  x1 + x2 + 2x3 + x4 = 1
  ax − 2y + z = 1 5.  2x + 4y + 8z = az
Como es bien sabido. Por otra parte. de manera que es imposible dar resultados algebraicos explícitos para los valores y vectores propios de una matriz genérica.3
  x1 + 3x2 + x3 − x4 = 6 2x1 + 7x2 + 3x3 − 4x4 = 15 6. Mathematica dispone de los siguientes comandos para abordar este problema: Eigenvalues[m] proporciona una lista de los valores propios de la matriz m. tales que m · xi = λi xi . en principio. los valores propios de una matriz m son los números λi para los cuales existen vectores xi no nulos. Si n ≥ 5 no es posible obtener. x + ay + z = a  x+z =1
  4x + 2y + z = ax 2x + 4y + 2z = ay 4. Eigensystems[m] calcula al mismo tiempo los valores y los vectores propios y proporciona una lista de valores propios y de vectores propios asociados.
dada una matriz m. etc. La función Eigenvalues da siempre una lista de n valores propios para una matriz n×n. Problema 14 Consideramos ahora el sistema ½ x + 2y = a x + 2y = b que es incompatible. donde j es la llamada forma canónica de Jordan (que en el caso de ser m diagonalizable no es más que una matriz diagonal tal que los elementos de su diagonal principal son los valores propios de m). entonces Eigenvectors añade vectores nulos a la lista hasta completarla con n vectores. la cual proporciona una lista con las matrices c y j. cuando se da una matriz cuyos elementos son números reales aproximados. La función que lleva a cabo esta descomposición es JordanDecomposition. ((A − B)B)T . Ejercicio 2 Estudia y resuelve el   x   x  2x   5x sistema + + + + 2y 3y 3y 6y + 3z = 6 + 8z = 19 + z = −1 + 4z = 5 17
.proporciona una aproximación numérica a los valores propios. El método más eﬁciente es usar LinearSolve. mientras que Eigenvectors da una lista de vectores propios linealmente independientes. siempre será posible encontrar una matriz c tal que c−1 mc = j. Como es bien sabido. Por tanto. det(B 3 ) y las raíces del polinomio característico de A. si el número de tales vectores propios es menor que n. Mathematica lo indica.
2. Mathematica encuentra valores numéricos aproximados para valores y vectores propios.2
 10 −6 −9 B= 6 −5 −7  −10 9 12 
calcula A + B. A2 . B − 4A. Problema 13 Resolver el sistema ½
Problema 12 Dadas las matrices   3 −4 5 A= 8 0 −3  . 5 2 1
x + 5y = a 2x + y = b
dependiente de dos parámetros. En el caso general. los valores y vectores propios de una matriz juegan un papel muy importante a la hora de analizar la diagonalizabilidad de dicha matriz. (AB)−1 . pudiendo estar alguno de ellos repetidos.
0. Ejercicio 6 Hallar la inversa de: C =  2 4 −2 5 
 2 1 −1 1  D= 0 2 5 2 −3
1. −1. −1. Diagonalizar A (si es posible) cuando a = 4. −1. 1). 2. 0)
Ejercicio 5  2 0 0  1 −1 0   2 1 3 6 5 2
 2 −2 6 Ejercicio 7 Sea la matriz A =  0 a 4 − a  . −1. −4)  hallando los rangos de esas dos matrices y una base de su núcleo. −7. −1). (2. 2. −1. −2. 0. el sistema formado por las + y + z = 1 + ay + z = a + y + az = a2
Ejercicio 4 Forma una matriz cuyas ﬁlas sean los vectores (−1. 3. Calcular el polinomio característico de A. ecuaciones   ax x  x
según los valores de a. −2). a ≥ 0 0 a −a
 2 −3 −1 1 0 .
(1. 2. 1). (2. (2. 0 0 t−4  5 0   4  −1   (−2. Estudia su diagonalización en función de los valores de a. 2. Ejercicio 8 Dada la matriz  1 a 1 A =  −1 1 −a  1 0 a+1 1. otra con (1. 3. 0. 2.  t−2 4 3 Evaluar el determinante de: A =  1 t + 1 −2  . (−1.Ejercicio 3 Estudia y resuelve. 2). 1. así como sus valores propios. hallando explícitamente la matriz de paso. ¿Para qué valores de a la matriz es diagonalizable? 18 
. 17. −2. 0). −2. 2. 0. 1. 2. 1.
Ejercicio 9 Estudiar para qué valores de los parámetros reales a y b las matrices siguientes son diagonalizables:     5 0 0 a b 0 A =  0 −1 b  . Esta operación se denota por (Ei + λEj ) → Ei . + a1n xn = b1. 19
.. En : an1 x1 + an2 x2 + . calcular la matriz de paso y la matriz diagonal. sumarla a la ecuación Ei y usar la ecuación resultante en vez de Ei .3
Introducción a los Métodos Numéricos. Obtener p (A) donde p (x) = 3 + 2x − 5x2 .. Para dichos valores.3. La ecuación Ei puede multiplicarse por una constante no nula λ y se puede usar la ecuación resultante en vez de Ei . 2. 2.. Para resolver el sistema de ecuaciones lineales: E1 : a11 x1 + a12 x2 + .. Obtener su inversa utilizando el teorema de Cayley-Hamilton.  −1 3 0  . B= 0 1 2  3 0 a 0 0 2
Ejercicio 10 Calcular los valores y vectores propios del endomorﬁsmo f : R3 −→ R3 deﬁnido por f (x. z) = (x + y + z. Esta operación se denota por (λEi ) → Ei . en particular veremos la resolución numérica de sistemas de ecuaciones lineales.  −2 3 0  .. como ya hemos comentado. Los métodos iterativos para el cálculo de valores y vectores propios son usados por Mathematica en los comandos Eigenvalues[N[m]]. + a2n xn = b2. 2 0 4 2 2 −1 0 0 2 0 0 5 µ ¶ 3 −2 Ejercicio 12 Dada la matriz A = −1 2 1. 3x + y − z. E2 : a21 x1 + a22 x2 + .. 1. Métodos del Álgebra Lineal
En esta sección repasaremos algunas de las posibilidades que ofrece Mathematica para resolver problemas numéricos de Álgebra Lineal... y. + ann xn = bn. La ecuación Ej puede multiplicarse por una constante no nula λ. . −2x + 2y + 3z) Ejercicio 11 Diagonaliza ortogonalmente las matrices        3 2 2 −1 2 2 3 −1 0 3 −2 0  2 2 0   2 −1 2  .
que contiene toda la información del sistema.   .... Nosotros utilizaremos el paquete de eliminación gaussiana. Despejando en la ecuación anterior se obtiene xn−2 . es decir...... ..  bn
El sistema anterior lo podemos representar ampliada.
Despejando xn en la última ecuación y sustituyendola en la ecuación En−1 se obtiene xn−1 ...  a11 a12 . Al realizar las operaciones anteriores las variables no cambian.  b0 n
E1 : a11 x1 + a12 x2 + .. a1n a0 2n ..
2. Esta técnica se conoce como pivoteo máximo de columna o pivoteo parcial... Por lo cual se han de tener en cuenta cuales son los elementos más adecuados para conseguir los ceros.3. La estrategia más simple consiste en seleccionar el elemento en la misma columna que está abajo de la diagonal y que tiene el mayor valor absoluto.. a0 x2 + . Al hacer este tipo de eliminación muchas veces se necesita cambiar el orden de las ﬁlas para conseguir los ceros.. ... .... sucesivamente. Por medio de estas operaciones se puede transformar un sistema lineal en otro más sencillo de resolver con el mismo conjunto de soluciones.. + a1n xn = b1.. y así. En : a0 xn = b0 nn n. Por esto un sistema lineal se reemplaza frecuentemente por una matriz.
las ﬁlas para conseguir ceros por debajo de la . ann ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯  b1 b2   . Esto también es necesario porque cuando los cálculos se realizan usando aritmética de dígitos ﬁnitos pueden aparecer muchos errores debido al redondeo de las cifras..  a21 a22 . E2 : .  a11 a12  a0 22   . + a0 xn = b0 22 2n 2. conocida como matriz a1n a2n ..3... . y realizar operaciones elementales sobre diagonal.. se van obteniendo el resto de las incógnitas.. El Mathematica ofrece paquetes que permiten realizar de forma numérica muchos cálculos algebráicos.....1
Eliminación Gaussiana y sustitución hacia atrás
como una matriz. Esta operación se denota por Ei ↔ Ej . . sólo sus coeﬁcientes.. a0 nn ¯ ¯ ¯ ¯ ¯ ¯ ¯ ¯  b1 b0  2  .. . La ecuaciones Ej y Ei pueden intercambiarse.. que se carga mediante 20
.. an1 an2 . los pivotes.
3. Veamoslo mediante un ejemplo: Ejemplo 1 Resolver el sistema de ecuaciones: E1 : 5x1 + 3x2 = 6 E3 : −2x1 − 8x2 − x3 = 7 E2 : 7x1 + 9x2 + 2x3 = −3
utilizando la descomposición LU de la matriz de los coeﬁcientes y la orden LUSolve In[1]:= <<LinearAlgebra‘GaussianElimination‘ In[2]:= MatrixForm[a = {{5.   5 3 0 9 2  Out[2]:=  7 −2 −8 −1 In[3]:= lu = LUFactor[a] Out[3]:= LU[{{ 5 . −22 }.{-2. Por eso.{ −2 .3.9. Estas dos ordenes están el el paquete <<LinearAlgebra‘GaussianElimination‘.7}. -8. Existen casos en que se quieren resolver varios sistemas de ecuaciones lineales donde coincide la parte de la izquierda del sistema. 0}.<<LinearAlgebra‘GaussianElimination‘ Como hemos visto. por una matriz triangular superior.-3. la matriz de los coeﬁcientes es la misma pero cambian los términos independientes. 2}. -1}}].2}.c . En este caso también se puede usar LinearSolve pero mucho del trabajo es repetitivo. {7. la función LinearSolve permite calcular la solución de un sistema de ecuaciones lineales. b] Out[5]:= { 75 .{2.1}] 7 19 19 7 7 7 In[4]:= b={6. es decir. −3 }}. In[5]:= c=LUSolve[lu. 12 . como el primer paso se puede ver de forma abstracta como la factorización de la matriz de los coeﬁcientes en el producto de una matriz triangular inferior. 9. −38 .0} 21
.b Out[6]:= {0. El segundo paso de volver hacia atrás sustituyendo se puede hacer mediante LUSolve. L. pero no así la de la derecha.{7. −37 . −81 } 44 44 22 In[6]:= a . U (factorización LU) se puede recurrir a LUFactor que produce esta factorización y da la información sobre que ﬁlas han de cambiarse para que se mantenga la estabilidad numérica en la computación.0.
Obsérvese que el resultado de Out[3] da la factorización LU de la matriz a y nos dice tambien como se han colocado las ﬁlas de dicha matriz para hacer la reducción gaussiana.{i. n=8.{j.n}] Veamoslo en un ejemplo Ejemplo 3 Construir una matriz (8 × 8) mediante Do.b1 Ejercicio 13 Resolver el sistema de ecuaciones: x + 4y + z = 0 3x − y + 2z = 1 2x − 5y + az = −2 utilizando la descomposición LU de la matriz de los coeﬁcientes y la orden LUSolve.j].c .i]=7.{i. {m.m}.{i.m}]. Estudiar para que valores del parámetro a tiene solución única.{i. b1] In[3]:= a . Veamoslo Ejemplo 2 Resolver el sistema de ecuaciones: E1 : 5x1 + 3x2 = 2 E3 : −2x1 − 8x2 − x3 = −2 utilizando los resultados del problema anterior.i+1]=2.7}.i-1]=-4.1. Do[p[i. Do[p[i.m}].m}.{j. En términos matriciales.m-1}].2.j]=0. Do[p[i.1.-3.n}]] 22 E2 : 7x1 + 9x2 + 2x3 = −1
. El Mathematica permite construir matrices utilizando la función Do[p[i.n}]. In[2]:= c=LUSolve[lu. se  leería:    7 9 2 7 9 2 1 0 0  −2 1 0   0 − 38 − 3  =  −2 −8 −1  7 7 7 5 12 5 3 0 1 0 0 − 22 7 19 19 La ventaja de utilizar la reducción LU es que se puede utilizar el mismo sistema de ecuaciones cambiando los términos independientes cambiando solamente el vector b. Do[p[i.1. MatrixForm[a=Array[p. In[1]:= b1={6.{i.1.1. m=8.1.
5). 5. 5. b = (2. 3.. 5. 3. tal que A = ST S T . Mathematica la calcula usando SchurDecomposition[matriz] Problema 15 Dada la matriz  1 3 −1  0 −1 1  −1 0 −1 
Encontrar su descomposición QR y de Schur. 5. Utilizando Do para construir estos vectores. 3). 5.
2. 5.. de forma que A = QT R.. Ejercicio 15 Resolver un sistema lineal de 20 ecuaciones y 20 incognitas. 5...3.2
Descomposición QR y descomposición de Shur
La descomposición QR de una matriz A consiste en encontrar dos matrices Q y R.. Mathematica la calcula usando QRDecomposition[matriz] La descomposición de Schur de una matriz A consiste en encontrar dos matrices S y T. Ejercicio 16 Repetirlo para un sistema de 100 ecuaciones y 100 incógnitas..... 3. ortogonal la primera y triangular superior la segunda. ortonormal la primera y triangular la segunda.Ejercicio 14 Resuelve el sistema representado en la matriz anterior utilizando como matrices de los términos independientes los vectores b = (9.
. 5. . utilizando como matriz de coeﬁcientes una matriz que sigua la recurencia de la matriz del ejemplo anterior y como vector de términos independientes el vector b = (9.. 3)... . .
1) necesita extraer raíces cuadradas. Este tipo de ecuaciones reciben el nombre de ecuaciones no lineales y el valor α que satisface la igualdad f (α) = 0 se conoce como solución. la solución de (3. la solución de (3. nos proponemos resolver ecuaciones de la forma f (x) = 0 (3. Estos resultados indican que.1)
donde f es una función real de variable real.1) sólo requiere el cálculo de una división. se han de encontrar los ceros de la función: f (x) = x − e sin x − z. La imposibilidad de encontrar una fórmula que resolviera una ecuación polinómica de grado mayor o igual que cinco mediante combinaciones de operaciones elementales fue demostrada por Galois. cero o raíz de la ecuación. Las ecuaciones no lineales son más habituales de lo que pueda pensarse. Si P (x) = ax + b.Capítulo 3
El objetivo de esta práctica es aprender a utilizar los comandos de Mathematica que permiten abordar el estudio de ecuaciones y sistemas no lineales. por ejemplo. El método de resolución de un polinomio cúbico se debe a Tartaglia (1499-1557) y a del Ferro (1465-1526) y el de una ecuación polinómica de cuarto grado a Ferrari (15221565). al describir el movimiento de los planetas alrededor del sol o de los satélites alrededor de los planetas se obtienen órbitas elípticas. Es decir. El caso más sencillo de ecuaciones no lineales es cuando la función f es una función polinómica P (x) . Si P (x) = ax2 + bx + c. es decir. 24
. se vió la necesidad de utilizar técnicas numéricas para resolver las ecuaciones no lineales. Durante siglos se buscó la fórmula para resolver polinomios de quinto grado hasta que Abel demostró que no tenían solución. para determinar entonces en que punto de la elipse se encuentra un móvil en un tiempo dado hay que resolver la ecuación de Kepler: x − e sin x = z donde e es la excentricidad de la elipse y z es un número conocido que se calcula a partir del tiempo t. desde muy pronto.
mk = 0. |xn+1 − xn | < ε. criterio de la diferencia relativa. En este caso.5 · (ak + bk ) Si |f (mk )| < ε1 ⇒ α ≈ mk . criterio de la diferencia absoluta. mk ] . b] que veriﬁca la condición f (a) · f (b) < 0. se para el proceso. En el caso de tener raíces muy próximas es conveniente determinar intervalos que contengan una única raíz. b0 ] = [a. |xn |
En un proceso de cálculo de raíces de una ecuación no lineal primero hay que tener un cierto conocimiento de la zona en que se encuentran las raíces para. Para construir el algoritmo de iteracción se crea una sucesión de intervalos encajados de la siguiente forma: 1. A menudo la raíz es un número real que no tiene una representación exacta en el ordenador. bk ] .1
El algoritmo de la bisección es el más sencillo pero converge lentamente a la solución. construir de forma iterativa una sucesión de valores que converja a la solución. después. b] . 2.Calcular la raíz de una ecuación con un ordenador utilizando técnicas numéricas tiene sus limitaciones. k =k+1 Si f (ak ) · f (mk ) > 0 ⇒ [ak+1 . aunque siempre converge a ella. 2. En los algoritmos iterativos en los que se genera una sucesión de aproximaciones {xn }n∈N que queremos que converja a la solución. Se parte del intervalo [a0 . bk ] .
. tendremos que conformarnos con una aproximación que veriﬁque una condición impuesta en el algoritmo de la forma |f (x)| < ε donde ε es una constante positiva préviamente ﬁjada que recibe el nombre de tolerancia del algoritmo y tiene la función de actuar como criterio de parada del algoritmo cuando consideramos que estamos suﬁcientemente cerca del valor exacto de la raíz. existe α ∈ (a. bk+1 ] = [ak . |xn+1 − xn | < ε. por lo que suele usarse inicialmente para determinar los intervalos donde aplicar los métodos iterativos más rápidos. se utiliza como criterio de parada el que dos iteraciones sucesivas cumplan uno de los dos siguientes criterios: 1. bk+1 ] = [mk . Se basa en el teorema de Bolzano: Teorema 1 Dada una función f (x) continua en un intervalo [a.
3. Se calcula el punto medio del intervalo [ak .
Si f (ak ) · f (mk ) < 0 ⇒ [ak+1 . b) tal que f (α) = 0.
luego empezamos en el intervalo [0. Es decir. A continuación se traza la recta tangente a la curva en el 1 punto (x2 .7 = 7.5 sin 1.
si |g (xk )| < ε1 ⇒ α ≈ xk . en principio. f (1. obtenemos la fórmula xn+1 = xn − f 0 (xn ) f (xn ).5 sin 1.25) = 1.1875) = 1.1875] . llamado pivote.5 sin 1 − 0.
3. 1. f (1. 1. 2.1875] es decir. donde nos aseguramos que α ≈ xk . pero no utiliza propiedades de la función que se estudia y su convergencia es muy lenta.25] .7 = 2.125 − 0. 550 8 × 10−2 > 0 ⇒ [1.125 − 0. 26
. 1. 2] .5 y z = 0. Se obtiene α ≈ mk = ak + bk 2
donde ε1 y ε2 son tolerancias ﬁjadas por el algoritmo y que pueden ser iguales o no. desde el que se traza la recta tangente a la curva y = f (x) en el punto (x1 .5 sin 1. f (1.7. 845 35 > 0. también llamado de Newton-Raphson.0 312 5. llamado pivote. Como hemos comentado. Ejemplo 4 Consideremos el ejemplo anterior f (x) = x − e sin x − z.1875−0. En general.7 = 0. la cual converge a la raíz x0 . 1.125. Los cálculos se paran cuando |bk − ak | < ε2 o cuando k > kmax .7 < 0. de ecuación y − f (x1 ) = f 0 (x1 ) (x − x1 ) . Para encontrar el punto en el que f (x0 ) = 0 se parte de un valor x1 . El cálculo se para cuando |xk − xk−1 | < ε2 o cuando k > kmax .301 25 > 0 ⇒ [1.5] . 613 4 × 10−2 < 0 ⇒ [1.15625 sabemos que el error que se comete es menor que 0. Se calcula xk = g (xk−1 ) = xk−1 − si |g (xk )| > ε1 ⇒ k = k + 1. 1. se encuentra más cerca de x0 buscado. Se parte de un valor x0 . luego será el intervalo [1.25 − 0.25] . 378 2×10−2 > 0 ⇒ [1.5 − 0.5) = 1. después de cinco iteracciones sabemos que la raíz está en el intervalo [1. f (1) = 1 − 0.7 = −0. con e = 0. 1. por lo que si aproximamos la solución por el punto medio de éste. es un ejemplo de un método de punto ﬁjo.1875−0. Empezaremos localizando la raíz: f (0) = −0.5 sin 2 − 0.7 = −2.3. f (x2 )) a partir del cual se localiza el punto x3 = x2 − f 0 (x2 ) f (x2 ) y así 1 sucesivamente. para evitar un proceso excesivamente largo.7 = 0.2
El método de Newton. este método converje siempre y da cotas superiores e inferiores para la raíz buscada. 3.125.
1 f 0 (xk−1 ) f
(xk−1 ) .5 − 0. f (2) = 2 − 0. Esta recta 1 corta al eje de las x en un punto x2 = x1 − f 0 (x1 ) f (x1 ) que.125. 2] . que nos permite construir la sucesión {xn }n∈N recursivamente.5 sin 1.25 − 0.125) = 1. 1. se basa en utilizar una ecuación de la forma g (x) = x equivalente a f (x) = 0 con f (x) derivable. f (x1 )) . 120 74 < 0. kmax es el valor de la iteración máxima que consideremos. se para el proceso. f (1.
Esta idea es muy útil a la hora de reemplazar problemas no lineales por problemas lineales y se ha mostrado como una idea muy fructífera en Matemáticas. b) y la sucesión {xk }k∈N tal que xk = g (xk−1 ) . diremos que la sucesión converge a la solución del problema
ya que α es un punto ﬁjo de g (x) . el valor xk se encuentra en la intersección de esta recta con el eje x. es decir. b]) tal que existe α ∈ (a. de la secante.2. ya que puede ocurrir que xk−1 no pertenezca al dominio de la función f o que f no sea derivable en xk−1 .1
Para analizar la bondad relativa de los métodos es necesario conocer la mejora que se introduce en la solución de la ecuación.
1. b) para el cual g (α) = α. El hecho de utilizar la función g dada está motivado por la idea de aproximar funciones por sus rectas tangentes. b) para todo k > 0. existe α ∈ (a. α + δ) se veriﬁca que la sucesión {xk }k∈N converge a α. las cuales se supone que se irán acercando a la raíz de la función dada. al menos en las proximidades de una raíz. o bien. k ∈ N. sobre este último ir localizando las raíces. Es fácil comprobar que si en la iteración k − 1 construimos la recta tangenta a f (x) en el punto xk−1 se obtiene y = f (xk−1 ) + f 0 (xk−1 ) (x − xk−1 ) Por tanto. debemos resaltar que la aplicación del método de Newton no siempre es posible. b) . Para saber las condiciones bajo las cuales son convergentes las iteraciones de punto ﬁjo se utiliza el teorema: Teorema 2 Dada una función g ∈ C 1 ([a.Cuando lim xk = α.
3. etc. entonces la sucesión {xk }k∈N converge a α. b]) tal que |g 0 (x)| < 1 para todo x ∈ (a.5
2. converge más rápidamente que el de la bisección. la rapidez con que se aproxima a la 27
. dado x0 ∈ (a. b) para el cual f (α) = α y f 0 (α) 6= 0 y dada {xk }k∈N tal que si x0 ∈ (α − δ. se veriﬁca g (xk ) ∈ (a. El algoritmo de Newton se emplea ampliamente porque. Las iteraciones del método de Newton convergen bajo las condiciones que se especiﬁcan en el siguiente teorema: Teorema 3 Dada f ∈ C 1 ([a. No obstante. aproximar el comportamiento de la función y = f (x) por un comportamiento lineal y.
sale=’’precisión’’. If[Abs[f[m]]<pre. a=m]. If[Sign[f[b]]6=Sign[f[m]].3. El límite anterior signiﬁca que la sucesión {xk }k∈N converge a la solución α aprox1 imadamente igual de rápido que la función p tiende a cero cuando x → ∞. Para poder comparar diferentes métodos introducimos la siguiente deﬁnición. a=a].apm].Break[]]. etc.Print[’’solución pedida:’’.apm]. Si p = 1 diremos que la convergencia es lineal.cifras]. If[sale==’’precisión’’.Break[]]] La impresión de los resultados podemos realizarla con las siguientes instrucciones: apm=SetPrecision[m. Si existen p ∈ N y c ∈ R diferentes de cero. La conx vergencia es más rápida a medida que p aumenta. siempre que no aumente de forma desmedida el número de operaciones a realizar.2)
diremos que p es el orden de convergencia mientras que c es la constante del error asintótico. Puede comprobarse que el método de la bisección es de orden 1 mientras que el de Newton es de orden 2.k≤nmax.1
Resolución de ecuaciones no lineales con Mathematica
Podemos escribir este algoritmo como: a0=a. Deﬁnición 1 Sea {xk }k∈N una sucesión que converge a una solución α de la ecuación f (x) = 0 y sea εk el error absoluto cometido al considerar como solución εk = xk − α.3
. sale=’’tolerancia’’. If[k≤nmax.solución verdadera. tales que
|εk+1 | = c. b=b. b0=b For[k=1.k++.
3. Print[’’posible solución exacta:’’. If[Sign[f[a]]6=Sign[f[m]]. b=m. por lo que un método de orden más alto es mejor que uno de orden más bajo. si p = 2 se dice que es cuadrática. If[b-a<tol. m=(a+b)/2. |εk |p
sale=’’tolerancia’’. If[Abs[f[x]]<tol. Ejercicio 17 Utilizar el algoritmo del método de la bisección para resolver la ecuación 1 − 2 log x = 0.x]. Break[]]. Print[’’solución pedida: Print[’’Número de iteraciones: Print[’’Error máximo cometido: ’’. b. f (x) = x cos x − log x.5 y comprobar como de cerca se ha quedado x la aproximación obtenida.k]. Ejercicio 18 Utilizar los métodos de la bisección y de Newton para encontrar las raíces positivas en los intervalos correspondientes de las funciones siguientes con un error menor que 0. If[k≤nmax.5 x para diferentes valores de a.
3. apm]. For[k=1. Print[’’Error máximo cometido: ’’. y se han de introducir los valores para x0. Obsérvese que apmt da la solución aproximada obtenida por Mathematica usando su propia aproximación. ’’. Break[]]] apm=SetPrecision[x.cifras]. pre. x=x-(f[x]/f1[x]).
donde f1[x]=D[f[x]. Dibujar primero las funciones para decidir el intervalo adecuado. k++.2
El algoritmo para el método de Newton se puede escribir como: x=x0.tol].02. ’’. cifras y tol. tol.Print[’’Se ha llegado al número máximo de iteraciones’’]]] Print[’’Número de iteraciones: ’’. nmax y cifras.3. 1. Print[’’posible solución exacta: ’’. sale=’’precisión’’ .tol]. y=f[x]+f1[x]x. k≤nmax. 1 Dibujar la función f (x) = −2 log x−0. If[Abs[y]<pre.k]. 29
. If[sale==’’precisión’’. apm].
si no se conoce con exactitud el punto inicial puede resultar muy costosa de utilizar. FindRoot[ecuación==0. x0}] busca una solución numérica de la ecuación empezando en x = x0.. lo que permite encontrar las raíces de una función o una ecuación cerca de los puntos a.}.. InterpolateRoot[función.] encuentra las raíces de las ecuaciones ec1.xmin. Se puede usar también FindRoot[ecuación==0.. x0.01.x1}] usa x0 y x1 como los dos primeros valores de x..y0}. 3. f (x) = e−2x − 1 + x. la raíz de la ecuación sin x = 2 Ejercicio 20 Dada la función f (x) = 1 x + ex . No obstante. simultaneamente.3
Métodos Numéricos de Mathematica
Mathematica tiene paquetes numéricos que utilizan estos métodos de cálculo de raíces de una ecuación no lineal.{y.b}] 30
.{x. suponiendo que la función tiene un ”buen” comportamiento. {x. con cinco decimales exac³ x ´2 . El paquete <<NumericaMath‘InterpolateRoot‘ trabaja de forma más especíﬁca.x] Si la función no es polinómica se ha de recurrir a: FindRoot[ecuación==0. ec2.. x0}.xmax}] busca la solución y se para si x está fuera del intervalo (x min.b}] InterpolateRoot[ecuación.a. x0. {x.. 2 Encuentra de forma aproximada el valor de su raíz con un error menor que 0.3. Ejercicio 19 Utilizar el método de Newton para encontrar..2.{x.
3. {x. tos.ec2. {x. se utiliza: NSolve[ecuación==0.b de forma mucho más precisa. f (x) = 2x − e−x . Para encontrar las raíces de funciones polinómicas de forma numérica.. x max) FindRoot[{ec1.a..
Interval[{a.x.Interval[{a.b}].Mathematica también usa los métodos numéricos explicados anteriormente.x. Utiliza los resultados para comparar como son de buenos los algoritmos introducidos.tolerancia] Ejercicio 21 Resuelve los problemas anteriores usando los métodos propios de Mathematica.tolerancia] IntervalNewton[función.
. cargando el paquete <<NumericalMath‘IntervalRoots‘ obtiene intervalos donde pueden estar las raíces de una función mediante los métodos anteriores: IntervalBisection[función.b}].
. x1 . . los valores del polinomio deben ser estimaciones razonables de los valores de la función desconocida. como los de derivación e integración numérica. los estudiantes rara vez tiene que interpolar para valores de senos.
Interpolación polinómica de Newton
Dado un conjunto de puntos (xi . n
Este problema tiene solución única.. etc.. 1. Los nombres de muchos matemáticos famosos están asociados con métodos de interpolación: Newton. i = 0.. es historicamente una tarea fundamental.. x1 . xn . tal que pn (xi ) = f (xi ) . sus calculadoras y computadoras usan estas técnicas para calcular estos valores y creemos que es importante que los estudiantes entiendan como funcionan las calculadoras.. xn (llamados nodos) distintos dos a dos en la recta real y los valores correspondientes f (x0 ). técnicas que resultan muy útiles a los alumnos de ingenieria. estos métodos resultan interesantes ya que constituyen la base para muchos procedimientos que estudiarán... Bessel. Por otro lado. 32
. En general. f (xi )) se intentará encontrar un polinomio tal que la función y el polinomio se comporten casi igual en el intervalo en consideración... Por tanto. . . Aunque hoy en día. Cuando el polinomio es de primer grado se obtiene la conocida interpolación lineal. los n+1 puntos x0 . Stirling. logaritmos y demás funciones no algebraicas a partir de tablas. Gauss.. Además. el polinomio que satisface estos requisitos se conoce como polinomio interpolador o interpolante de la función f en los puntos x0 . Estamos interesados en polinomios de grado mayor... la interpolación con polinomios sirve como una excelente introducción para ciertas técnicas de aproximación de curvas suaves..Capítulo 4
La interpolación.. f (x1 ). resolución de ecuaciones diferenciales. . dado un entero positivo n. f (xn ) de una función el problema de interpolación polinomial consiste en encontrar un polinomio de grado ≤ n. que es el cálculo de valores para una función tabulada en puntos que no aparecen en la tabla.
{6.a1.. Esto es equivalente a resolver un sistema de ecuaciones lineales.2.1.. .1. 0}. esta interpolación es peor al aumentar el grado debido al cáracter oscilatorio de los polinomios de grado alto.(2. 1}. x={1.0. 0}. luego se han de encontrar los valores de ai en el polinomio: y = a0 + a1 x + a2 x2 + a3 x3 + a4 x4 para que pase por los puntos exigidos. Solución: Un polinomio que pasa por cinco puntos debe ser de grado cuatro.5}}.5) . 0). Ejemplo 5 Calcular el polinomio de interpolación que pasa por (1. 1. 1. además de aumentar el grado del polinomio y el número de operaciones que se han de realizar se acentua la pérdida de la precisión en los extremos del intervalo donde se interpola.{4. por lo que es preferible dividir el intervalo donde se va a efectuar la interpolación en diversos trozos con polinomios de grado pequeño. por sencillez. {i. (x − xn ) .a2.0.4.{2. El error tiene una dependencia directa de la derivada de orden n + 1 y de la proximidad de los puntos a los nodos. b)
De la fórmula anterior no se puede deducir que los polinomios de mayor grado correspondan a una interpolación mejor. b) para i = 0.5. 1}. es decir el error que se comete cuando se aproxima un punto distinto de los nodos.a3. Entonces.Hay dos procedimientos básicos para calcularlo: el de Newton y el Lagrange. Veamoslo en el siguiente ejemplo. De hecho. 1). y={1. In[] := datos={{1.{5. Un aspecto importante a considerar es la calidad de nuestra interpolación.
4. Este fenómeno se conoce como el efecto Runge.a4}]. 1.6}. El polinomio de Newton será: 33
. 1). (n + 1)! ξ x ∈ (a.(6. n. b) y xi ∈ (a. {a0.1
El efecto Runge
Si se considera la sucesión {pn (x)} de polinomios de interpolación obtenida aumentando indeﬁnidamente la cantidad de nodos de interpolación.5}. Teorema 4 Si f ∈ C n+1 (a. ∀x ∈ (a. b) se veriﬁca f (x) − pn (x) = f n+1 (ξ x ) (x − x0 ) (x − x1 ) .
4.. nosotros. Aunque utiliza las llamadas diferencias divididas.(4. 5}]. 0).. 1.1..2
La ventaja del polinomio interpolador de Newton es la sencillez de su formulación.1. veremos como calcular el polinomio mediante la resolución de un sistema de ecuaciones lineales.(5. sol = Solve[Table[y[[i]] == a0 + a1*x[[i]] + a2*(x[[i]])^2 + a3*(x[[i]])^3+a4*(x[[i]])^4. se observa que al crecer n. donde ai son las incognitas.
Show[dib1. In[] :pol= Expand[InterpolatingPolynomial[datos. Ejercicio 23 Dados los puntos x 0. 34
1.6 f (x) 1.x]] Plot[pol.4918 1.01 dib2 = Plot[newton[t].8221 1.5
observando que el polinomio pasa por todos los puntos. Interpolar con un polinomio cúbico que pase por los cuatro primeros puntos y utilizarlo para calcular f (0. obtenido en la calculadora.newton[t_] = Sum[sol[[1]][[i]][[2]]*t^(i . PlotStyle -> {RGBColor[1.4 0. el comando InterpolatingPolynomial permite obtener el polinomio de interpolación que pasa por los puntos dados.{x. {i.
1. 0.0 0. 0.0000 1. Encontrar los valores aproximados de √ 3 e por interpolación lineal y cúbica. Comparar con el valor exacto.2214 1.5
0.5 −0.7 f (x) −1. PointSize[0. 0].1 −0.4845 0. dib2]. Encontrar las cotas respectivas de los errores debidos a la interpolación.1. 5}] Se pueden dibujar los puntos y el polinomio interpolador: dib1 = ListPlot[datos1.2 0.5
0. 6}].2 0.1).1518 0.1494 0. {t.1353
1.6}]. Por otra parte.2) .0 0.5
Ejercicio 22 Dada la tabla siguiente para la función f (x) = ex x 0.7028 −1.
se conoce como función de Runge y fue 1 + x2 la utilizada por Runge para demostrar el efecto que lleva su nombre. Show[dib1.5 1 0. sol1 = Solve[Table[y[[i]] == a0 + a1*x[[i]] + a2*(x[[i]])^2 . y={1. 0].0.5.5}].newton1[t]. dib2]. 3. Ejercicio 24 La función f (x) = 1 . 0.{t.1). 35
. 5]. Plot[g[t]. Veremos el ejemplo anterior utilizando polinomios interpoladores de grado 2. {i.a2}]. El polinomio de Newton será: newton1[t_] = Sum[sol1[[1]][[i]][[2]]*t^(i .1). {a0. In[]:= In[]:= g[t_]:=Which[t<0.1.
2.2. x={1. dado un conjunto de nodos.x[[3]]<t<x[[5]].1<t<2.6}.1.5
Por tanto.a1.5 2 1. utilizaremos una interpolación mediante polinomios cúbicos cada cuatro nodos. Hacer una estimación del error.5}. Calcular los polinomios interpoladores de grados 4 y 10.3
Interpolación a trozos
Una solución al problema de la oscilación de los polinomios de grado alto consiste en subdividir el intervalo en intervalos más pequeños e interpolar un número menor de nodos con polinomios de grado menor. 3}] y utilizar Which para construir el polinomio a trozos: newtonTotal[t_]=Which[t<x[[3]]. 1. PlotStyle -> {RGBColor[1. de dicha función en el intervalo [−5.a1. 6}]. Para ello recordemos como se dibuja una función a trozos utilizando el Mathematica. 5}]. {a0.0. {i.-5. 0.4. PointSize[0. dib2 = Plot[{newtonTotal[t].t^2.
4.0<t<1. 1.1.1].t>2. {i.newton2[t]] Se pueden dibujar los puntos y el polinomio interpolador: dib1 = ListPlot[datos1.2. {t. {i. 3}] newton2[t_] = Sum[sol2[[1]][[i]][[2]]*t^(i .01]}]. 1.t-1. sol2 = Solve[Table[y[[i]] == a0 + a1*x[[i]] + a2*(x[[i]])^2 . 3}].a2}]. se suele utilizar la interpolación mediante polinomios cúbicos.-t^3.
Interpolación con un splin cúbico
No obstante.. cuando los datos no son ”suaves” hay problemas con los polinomios de interpolación. Así.25 1 0. gi (xi+1 ) = gi+1 (xi+1 ) . n − 2. yi+1 ) y la función splin cúbico que se desea es de la forma g (x) = gi (xi ) . i = 0. yi ) y (xi+1 . pero que son de mucha utilidad para trazar curvas suaves.. i = 0. . Aunque los splines pueden ser de cualquier grado.
0 0 3. n − 1..25 1 -0. n − 2.. gi (xi ) .. . xi+1 ]
2. usaremos los de grado tres por ser los más conocidos. lo que signiﬁca que hay irregularidades locales. pero este método también es problemático porque las uniones de los polinomios no tienen una pendiente continua. el estudio de los splines conduce a algunas otras formas especiales de polinomios (curvas de Bezier y splines-B) que no se interpolan. gi (xi+1 ) = gi+1 (xi+1 ) .. es decir.. entre los puntos (xi .75 0. 1.5 1... 1.25 2 3 4 5 6
4. 00 00 4. gn−1 (xn ) = yn . x ∈ [xi . gi (xi+1 ) = gi+1 (xi+1 ) . no pasan exactamente por todos los puntos de la función. Una solución es ajustar subregiones de los datos con polinomios diferentes tal y como se ha hecho en el apartado anterior. 1.. i = 0. y cumple las condiciones: 1. 1.. Por otro lado.. . El ajuste de una curva mediante splines cúbicos exige la creación de una sucesión de splines cúbicos sobre intervalos sucesivos de los datos con la condición de que la pendiente de los polinomios debe coincidir en los nodos en que se unen. en el iésimo intervalo. El interpolar con polinomios de orden superior en la mayor parte de los casos conduce a que el polinomio se aleje de la función en otras regiones. n − 2. Para impedir este problema son de utilidad los tipos especiales de polinomios denominados splines.
De donde se obtiene yi+1 = ai (x − xi+1 )3 + bi (x − xi+1 )2 + ci (x − xi+1 ) + di = = ai h3 + bi h2 + ci hi + di . i = 0.1.. n − 1.. se escribe la ecuación para un polinomio cúbico..5 0. i i 36
. . 1. gi (xi ) = yi . i = 0.
1.splin}.00 00 Si se hace Si = gi (xi ) y Sn = gn−1 (xn ) .{2. 6hi
4 3. 3.185 0. El Mathematica tiene esta aproximación incorporada en el paquete <<Graphics‘Spline‘ Ejemplo 6 Veamos como utilizar este comando para ajustar la siguiente tabla de datos 1 2 3 4 1 4 3 4 In[]:= <<Graphics‘Spline ‘ In[]:=datos={{1.302 0.5 2 1.240 0. 2.0 0.5 1.1}.3 0.5 2 2.4}}.579 0.468 Dibujar una curva de interpolación usando 1.5 3 2.093 0.{3.106 0. In[]:=splin=Spline[datos.7 0.0 0.561 0. − hi 6
Como los nodos extremos no tienen ninguna condición hay distintas aproximaciones. la más sencilla es la lineal S0 = Sn = 0.Cubic] In[]:=Show[Graphics[{Line[datos].4 0.8 Magnitud aparente 0. los valores de los coeﬁciente vienen dados por
Si+1 − Si .{4.25. un polinomio interpolador de Newton. una aproximación de splines cúbicos.5 4
Ejercicio 25 Los datos de la siguiente tabla provienen de observaciones astronómicas de un tipo de estrella variable denominada variable cefeida y representan magnitudes en su variación aparente con el tiempo: Tiempo 0. Compara los resultados que se obtienen con las distintas aproximaciones para t=0.302
.2 0.3}.4}.6 0.Axes->True].5 3 3.5 0. la interpolación a trozos. 2
yi+1 − yi 2hi Si + hi Si+1 .
sea mínima. El criterio de mínimos cuadrados requiere que la suma de los errores. en general. por lo que se suelen utilizar los logaritmos para linealizarlas log y = log a + bx. en muchos casos los datos provenientes de pruebas experimentales no son lineales. también coincide con el principio de máxima probabilidad de estadística. Por supuesto. + e2 = 1 2 n
(Yi − axi − b)2 .3
Ajuste de datos por mínimos cuadrados
Este ajuste se basa en minimizar la suma de los cuadrados de los errores y sirve para ajustar una curva a un conjunto de datos aproximados. Las funciones más usuales son las exponenciales y = aebx y potenciales y = axb .. se obtiene: ∂S ∂a ∂S ∂b = 0=
2 (Yi − axi − b) (−xi ) ⇒ a 2 (Yi − axi − b) (−1) ⇒ a
un sistema de dos ecuaciones cuyas incógnitas son a y b.4. 38
. Si los errores de medición poseen una distribución normal y si la desviación estandar es constante para todos los datos. El criterio de mínimos cuadrados. Se quieren determinar los mejores valores de a y b para que las y predigan los valores de la función que corresponden a x. por lo que se desea ajustarlos por una función que no sea un polinomio lineal. además de proporcionar un resultado único para un conjunto de datos. Dado que un polinomio de grado n ajusta de forma exacta n + 1 puntos y se podrían utilizar los métodos expuestos antes utilizaremos polinomios cuyo grado sera mayor que o igual que el número de puntos N . ei = Yi − yi .
Como el mínimo se alcanza al elegir de forma ”adecuada” a y b. entonces se puede demostrar que la recta determinada al minimizar la suma de los cuadrados tiene valores de pendiente y ordenada en el origen con probabilidad máxima de ocurrencia.. Otro ajuste muy usual es el uso de polinomios para ajustar valores cuya gráﬁca no es lineal. es decir. Sea Yi un valor experimental y sea yi un valor de la ecuación yi = axi + b donde xi es un valor particular de la variable que se supone libre de error. pero los resultados serían más engorrosos y difíciles de obtener. datos experimentales. log y = log a + b log x y se ajusta la nueva variable z = log y como una función lineal de x o log x. minimíza la función S = e2 + e2 + . Se podría hacer un estudio análogo al anterior para el caso de estas funciones.
{1... {1. − an xn i y se minimiza la suma de cuadrados de estos errores.3.x}. 0.d2].{95. + an xn con errores deﬁnidos como ei = Yi − yi = Yi − a0 − a1 xi − .. obteniéndose a0 N + a1
i=1 N X a0 xi + a1 x2 i i=1 i=1
i=1 N X + a2 x3 i i=1 N X i=1
+ . función.. Ejemplo 7 Ajustar una recta por mínimos cuadrados a la tabla 20.5.7..Se supone la relación y = a0 + a1 x + ..7.x].. 0]. a1 . Mathematica posee una función integrada para realizar ajuste de datos por mínimos cuadrados Fit[datos. x]] ajusta los datos a la función ea+bx ..02]}].x}.{32. PlotStyle -> {RGBColor[1. Se trabaja con una lista de puntos y se suministra un patrón para ajustar la ecuación. an .. Out[]= 702. Exp[Fit[Log[datos]. Se puede comprobar graﬁcamente como de bueno es este ajuste. + an i
x2n = i
.765}. N X
xn Yi i
un sistema de n+1 ecuaciones lineales con las incógnitas a0 .7 765 826 873 942 1032 datos={{20. En particular. d2 = Plot[da1.2 95.1032}}.. Para su resolución se usarán los métodos algebraícos explicados anteriormente. variable] La relación deseada no tiene por que ser lineal y se permite más de una variable independiente. 100}].{73.. . d1 = ListPlot[datos.826}.5 32.
i=1 N X + an xn+1 i i=1 N X i=1
xn = Yi i =
xn + a1 i
xn+1 + a2 i
xn+2 + . 0... + an
+ . da1=Fit[datos. PointSize[0..172+ 3.942}. {x. 39
.{51.873}.. Show[d1.39487 x..7 51.0 73.
0 20.6 7.6 -40.20 20.1 6.986 0. 5.1 15. 2.9 42. Debes obtener una recta de mínimos cuadrados de la forma x = ay + b.6 -30. Comparar los resultados.1 1.1050 1000 950 900 850 800 750 20 40 60 80 100
También se pueden buscar funciones que ajusten datos tridimensionales.7 49.930 y -1 -0.18 16. pero determinar el grado óptimo por mínimos cuadrados.1 5.4 11.4 2.7 -39.7 13.1 1. Dibujar una curva de interpolación usando splines cúbicos.5 -48.6 -16.9 34.306 1.9 24.5 0.86 -0.4 12. 4.90 con las distintas curvas de interpolación obtenidas? 40
.64 13.4 -1.5 9.96 -0.1 23.1 17.1 20. Ejercicio 26 Encuentrar la recta de mínimos cuadrados que se ajusta a los datos siguientes.04 8.0 -28.895 0.2 6.7 29.04 Ejercicio 27 Repetir el ejercicio anterior suponiéndo que los valores libres de error son las y. Calcular y dibuja el polinomio de sexto grado que interpola estos puntos. Ejercicio 29 Parece que los datos siguientes se ajustan una ecuación cúbica.0 -3.12 10.4 -13.6 17.1 Ejercicio 30 En un experimento se obtuvieron los siguientes datos t -1 -0. suponiendo que las x están libres de error. Observa que no es la misma recta que se obtuvo antes. en este caso tendremos superfícies de ajuste.2 -51.6 16. ¿Qué valores obtienes para t = 0. Dibujar los puntos y la curva de interpolación de forma intuitiva.6 2. x 0.1 11.22 0.894 0. Ejercicio 28 Ajustarlos suponiendo que es un polinomio de orden dos. 3.5 4.151 0.9 19.2 9.8 36.9 24.1 8.1 y 1.5 -34.79 0.9 7.2 14.2 13.1 -13. x 1 2 3 4 5 6 y 5.5 -0.
Ajustarlos a una ecuación exponencial mediante mínimos cuadrados. 3. Utiliza los dos resultados anteriores para calcular el valor de y cuando x = 98. y la temperatura atmosférica. en megawatts. Potencia 153. registrada a las 11 a. Hallar la curva exponencial mínimo cuadrática y = abx .0 154.4 158. 2. Calcular el coeﬁciente de correlación. en una localidad cercana: Temperatura 95 96 97 99 94 .0 1.6 160.m. en grados Fahrenheit. Calcula un polinomio interpolador a trozos con polinomios de grado dos
.5 159. ¿Qué resultado consideras correcto? Ejercicio 32 Dados los datos siguientes x y 2 12 3 24 4 50 5 95 6 190
1. 2. Utiliza tres puntos para calcular un polinomio de interpolación de grado dos. durante el mes de agosto de 1998. generada por una central eléctrica de servicio regional.Ejercicio 31 Los datos siguientes representan la potencia diaria.
-2Pi. a menos que se indique otra cosa) In[] := Plot [Tan[x]. Mediante Mathematica se pueden dibujar funciones y datos en dos y tres dimensiones. así por ejemplo podemos producir la gráﬁca de la tangente en valores donde la tangente se hace inﬁnito (recuerdese que los argumentos de las funciones trigonométricas deben estar en radianes. Obsérvese que Mathematica no muestra todo el rango de valores de y.
Para hacer una gráﬁca en dos dimensiones de una función de una variable se usa la orden Plot. Plot [expr.3}].xmax }] Así la gráﬁca de la parábola y = −x2 + 4 es producida por la siguiente orden: In[] := Plot [-x^2+4. producir gráﬁcos de nivel y de densidad. muestra la región en que la función es interesante. en particular para funciones de dos variables. El rango es un triplete: la variable de la expresión. x.1
Gráﬁcas en Dos y Tres Dimensiones
Gráﬁcas en el plano. xmax .{x. las posibilidades gráﬁcas del Mathematica han sido una de las causas de su éxito. y un rango. xmin . un valor mínimo. {x.2Pi}].Capítulo 5
Como hemos comentado en la introducción.-3. 42
5. y un valor máximo. {x. xmin . En esta práctica exploraremos algunas de las posibilidades que Mathematica ofrece a la hora de hacer gráﬁcas además de su uso en el reconocimiento de los puntos extremos. una expresión expr. Fuera del rango en que está dibujada la función el comportamiento de la tangente no es especialmente relevante. Esta orden necesita al menos de dos argumentos.1. Además de este tipo de funciones Mathematica también puede hacer gráﬁcas de funciones que tienden a inﬁnito o que tienen singularidades.
5. además de dibujar objetos y ﬁguras arbitrarias.
si queremos determinar el rango de los valores de y usariamos la opción PlotRange.. azul]] Plot[expr. Estas decisiones pueden ser modiﬁcadas dependiendo de los valores de las opciones. La función RGBColor permite especiﬁcar un color: Dicha función tiene tres argumentos: el primero es la cantidad de rojo (Red). rango.. su argumento es un número entre 0 y 1. el segundo de verde (Green) y el tercero de azul (Blue). cuyo argumento [a] es la razón del ancho de línea al de todo el gráﬁco. Plot [expr. La función Dashing crea una línea a trazos en la que los sucesivos trazos dibujados o no dibujados son de longitud d1 . Finalmente...d2 . Lo cual además permite dibujar varias curvas al mismo tiempo con estilos diferentes.. Recuerdese que mediante ??Plot o la orden Options pueden verse todas las opciones para la función Plot junto con sus valores por defecto. Modiﬁcando el estilo de una gráﬁca Mediante la opción PlotStyle se puede cambiar el grosor. Estos argumentos deben ser números entre 0 y 1.. color y estilo de una curva. {x.d2 . Plot[expr. en cambio otras. rango. debe tomar muchas decisiones.d2 .. rango. PlotStyle->GrayLevel[g]]. PlotStyle->Thickness[a]] El valor inicial para la función Plot es Thickness[0. Plot[expr... Se puede utilizar también GrayLevel si se desea un sombreado gris. se especiﬁcan como fracciones del ancho total del gráﬁco. In[] := Options[Plot] Estas opciones se pueden especiﬁcar en cualquier orden después de los argumentos requeridos. el usar todos estos valores da un gráﬁco que no ayuda mucho en su evaluación. El grosor se cambia utilizando la expresión Thickness. donde 1 indica la presencia del color y 0 su ausencia. rango.004].Opciones Cuando Mathematica dibuja una gráﬁca. Las longitudes d1 . PlotStyle->RGBColor[rojo. verde.}]] Todas estas opciones pueden usarse simultaneamente con PlotStyle si se especiﬁcan en una lista de listas. 43
.. xmin . si no se especiﬁca una determinada opción se usa su valor por defecto Al usar estas opciones se han de tener en cuenta los objetivos que se persiguen ya que algunas veces es interesante conocer todos los posibles valores de una función. Plot[expr. los argumentos de la función. PlotStyle->Dashing[{d1 .xmax }. por ejemplo. opciones] Las opciones se especiﬁcan dando el nombre de la opción junto con el valor.
}. Como hemos indicado antes cada una de las líneas puede dibujar con un estilo diferente. opciones].{t. ParametricPlot[{fx [t]. ecuación 2. 44
. .umin .fy [u].ymin .tmin . {u. {x. Al igual que antes.vmax }. la ventaja de utiliza esta opción consiste sobre todo en el dibujo de funciones que son diﬁciles de hacer en coordenadas cartesianas.v]}. o ParametricPlot3D[{fx [u]. xmin .umax }. {x.v]. una función donde los valores de x e y vienen dados en función de un parámetro.ymax }. lo que permite su mejor visualización. Sus argumentos son una expresión y los rangos para las dos variables: Plot3D[expr.umax }. combinar varios de ellos o cambiar las opciones de uno construido antes. z están dadas en términos de dos parámetros ParametricPlot3D[{fx [u.2
Gráﬁcas Tridimensionales
La función Plot3D produce una gráﬁca trimensional donde se da la coordenada z en función de x e y.vmin .1. Los gráﬁcos tridimensionales estan ya coloreados por defecto.fz [u]}.. para ello se han de escribir las ecuaciones de las distintas curvas en forma de lista en el primer argumento de Plot Plot[{ecuación 1.v]. {u.fy [u. La opción Show permite redibujar un gráﬁco. Permite asimismo dibujar gráﬁcas en coordenadas polares.tmax }]
5.xmin . Gráﬁcas paramétricas Este tipo de gráﬁcas son muy útiles cuando se quiere dibujar simultáneamente los valores de x e y en función de un parámetro. {v.{y. Una opción interesante de Plot3D es que la gráﬁca obtenida puede verse desde distintos puntos de vista mediante ViewPoint.. opciones].Gráﬁcas de varias curvas Plot permite obtener la gráﬁca de varias curvas al mismo tiempo. El Front End tiene una opción en el menú que permite visualizar los distintos enfoques que se le puede dar a la ﬁgura.umin . y. sin más que mover el cubo de referencia mediante el ratón.fy [t]}.xmax }]. Gráﬁcas paramétricas La opción ParametricPlot3D produce gráﬁcas tridimensionales donde las coordenadas x.xmax }. opciones]. La función ParametricPlot dibuja una curva parametrizada. en general se usa t como dicho parámetro ya que suele representar el tiempo.fz [u.
{x.xmax }] Así la gráﬁca de la curva y = x3 + x es producida por la siguiente orden: In[] := Plot [x^3+x.2. Mathematica sabe representar este tipo de ecuaciones de forma directa cuando y = f (x) mediante Plot: Plot [expr. El interés de introducir esta tercera variable es doble: por un lado permite dibujar mas fácilmente algunas curvas planas que no se pueden escribir de forma inmediata como funciones. a la que llamamos parámetro. consideremos la trayectoria de un objeto lanzado al aire formando un ángulo de 45o con una velocidad inicial de 10m/s. x e y.1
Curvas en el plano. Veamoslo: • Si se quiere dibujar la circunferencia x2 +y 2 = 1 utilizando Plot.2
5. xmin . t. A partir de las leyes de Newton se pueden reescribir x e y en términos de dicho parámetro. No obstante.2 Pi}] • Para ver la versión temporal del parámetro.{t. obteniéndose las ecuaciones paramétricas √ x = 5 2t √ y = 5 2t − 5t2 45
. y = sin t.-3.-Sqrt[1-x^2]}.1}] Pero esta misma circunferencia se puede dibujar utilizando un parámetro angular y escribiendo x e y en términos de dicho parámetro: x = cos t.{x.-1.0. las ecuaciones de las curvas en el plano vienen dadas en coordenadas cartesianas.3}].Sin[t]}. Por otro lado. Podeis comprobar que este objeto sigue la trayectoria parabólica dada por x2 y =− +x 10 Pero esta ecuación no nos dice en que momento el objeto ha estado en cada punto de la trayectoria. Para determinar ésto se introduce una tercera variable. a veces es útil introducir una tercera variable para representar una curva en el plano. La orden que permite dibujarlo es: ParametricPlot[{Cos[t]. {x. en mucho casos este parametro se puede considerar como el tiempo y permite la descripción completa de la curva en términos de la trayectoria seguida por un móvil.5. se ha de despejar la variable y y dibujar las dos curvas correspondientes In[] := Plot [{Sqrt[1-x^2]. ecuaciones paramétricas
además. mediante ParametricPlot[{5 Sqrt[2] t .{t. En general se suele elegir el origen de las coordenadas cartesianas como origen de las polares y el eje x como eje polar. θ). por lo que es más interesante la utilización de coordenadas paramétricas. además de utilizar la orden Plot. t)1 de la siguiente forma: r : distancia dirigida de O a P. Utilizamos t como ángulo por comodidad de escritura.
En general. conocer el sentido de recorrido de la trayectoria.2. A cada punto P del plano se le asignan las coordenadas polares (r.
En el espacio.5 Sqrt[2] t-5 t^2}.
. las coordenadas polares se conocen por (r. una curva se representa como la intersección de dos superﬁcies.2
Curvas en el espacio. ya que la curva se obtiene al variar un único parámetro. ecuaciones paramétricas. t : ángulo orientado en sentido antihorario desde el eje polar hasta el segmento OP . r = 2 ± 3 sin t (caracoles).
5. Las coordenadas cartesianas estan relacionadas con las polares mediante las fórmulas ¯ 2 2 2 x = r cos t ¯ x + y = r ¯ y y = r sin t ¯ tan t = x
Ejercicio 33 Dibujar las siguientes curvas utillizando coordenadas paramétricas y cartesianas: x2 + y2 = 9 x2 + y2 − 2x = 0 x2 + y2 − 4y = 0 y2 ¡ 2= 2x2 ¢2 ¢ ¡ x +y − 9 x2 − y 2 = 0 y=x
Ejercicio 34 Dibujar las siguientes gráﬁcas polares r = 2 cos 3t (rosa de tres pétalos) ¿Cómo dibujarías una rosa de cuatro pétalos?¿Yde 25? r2 = 4 sin 2t (lemniscata).0. se ﬁja un punto O llamado origen (o polo) y desde O se considera un rayo inicial llamado eje polar. Ejercicio 35 Escribir las ecuaciones polares de las cónicas y dibujalas. El dibujo de la trayectoria se puede obtener. Coordenadas polares Para construir un sistema de coordenadas polares en el plano.Este conjunto de ecuaciones permite determinar en que punto está el objeto en cada instante. Sqrt[2]}] El utilizar las ecuaciones paramétricas permite.
Ejercicio 36 Dibujar la curva dada por x = 2 cos t y = 2 sin t .2t}. Ejercicio 38 Dibujar la curva intersección del paraboloide x2 = z y el plano x = y. t. z). Las coordenadas cartesianas estan relacionadas con las cilíndricas mediante las fórmulas ¯ 2 2 2 x = r cos t ¯ x + y = r ¯ y y = r sin t ¯ tan t = ¯ x ¯ z=z z=z Este tipo de coordenadas está especialmente indicado cuando hay trayectorias que tienen al eje z como eje de simetría. t) a P. z=t 0 ≤ t ≤ 2π
Ejercicio 37 Dibujar la curva intersección del cilindro x2 + y2 = 9 y el plano x = z. t) es una representación polar de la proyección del punto P en el plano xy. u)2 . 0 ≤ t ≤ 2π. Coordenadas esféricas En un sistema de coordenadas esféricas un punto P del espacio se representa por un trio ordenado (R.t^2.
En general. Coordenadas cilíndricas En un sistema de coordenadas cilíndricas un punto P del espacio se representa por un trio ordenado (r. y z es la distancia orientada de (r.1}] Estudiaremos dos nuevos sistemas de coordenadas espaciales: el sistema de coordenadas cilíndricas y el sistema de coordenadas esféricas. las coordenadas esféricas se conocen por (ρ. {t. t. R ≥ 0 t es el mismo ángulo que se usa en coordenadas cilíndricas.ParametricPlot3D[{t. Utilizamos la otra notación por comodidad de escritura. Las coordenadas cartesianas estan relacionadas con las cilíndricas mediante las fórmulas ¯ x2 + y2 + z 2 = R2 x = R sin u cos t ¯ y ¯ tan t = y = R sin u sin t ¯ ¯ xz ¯ z = R cos u u = arccos R Este tipo de coordenadas es especialmente útil para dibujos con un centro de simetría. 0 ≤ u ≤ π. donde R es la distancia de P hasta el origen.-1. θ. φ).
. donde (r. y u es el ángulo entre el eje z positivo y el segmento OP .
en su caso. Ejercicio 39 Dibujar las siguientes superﬁcies: x = y (plano) x2 + y2 = 9 (cilindro de radio 3). Desde luego. x2 + y2 = z 2 (cono).3
Dibujo de superﬁcies.1}. no se trata aquí de estudiar a fondo esta disciplina matemática. Pero si las superﬁcies no son planos.
5. z = sin u. para entender qué es lo que se está haciendo 48
. Ejercicio 41 Encontrar. 0 ≤ u ≤ 2π. gran variedad de problemas que surgen en el Cálculo Diferencial en una y en varias variables.4
Vamos a introducir ahora algunos comandos de los que dispone Mathematica para abordar. {x.{y. 0 ≤ v ≤ 2π (toro). su dibujo es mejor si se utilizan las coordenadas adecuadas.-1. x2 + y2 = 4z (paraboloide).-1.5. y) Plot3D[x+y. z = f (x. sino más bien de ilustrar las técnicas que el programa pone a disposición del usuario para reducir considerablemente los cálculos y. y = (2 + cos u) sin v.1}]. lo que es más importante. parametrización de superﬁcies
Una superﬁcie necesita dos parámetros para poder dibujarla. y en muchos casos resolver con éxito. las ecuaciones de las superﬁcies anteriores en coordenadas cartesianas. el Mathematica dibuja de forma inmediata superﬁcies que son funciones de dos variables. x2 + y2 − z 2 = 1 (hiperboloide) x2 + y2 + z 2 = 1 (esfera) Ejercicio 40 Dibujar las siguientes superﬁcies dadas en coordenadas paramétricas e identiﬁcalas: r=3 √ r=2 z r=z r2 = z 2 + 1 R=1 π t= 4 π u= 4 x = (2 + cos u) cos v.
y. . como el operador que al actuar sobre una función f proporciona su función derivada. ∂x ∂y
D[f . . se puede usar la forma funcional explícita y[x] para efectuar la derivación: Así es posible. . de hecho.4. Obviamente. también como funciones de x. Derivative[1][f ] de manera que Derivative[1] puede ser considerado como el operador de diferenciación. x ] calcula la derivada parcial ∂ f. . derivar implícitamente. NonConstants →{u. x . v. x ] da la derivada total df . .] calcula la derivada múltiple D[f . . f. {x . mientras que ∂xn ∂ ∂ . esto es. estos comandos también sirven si la función f depende sólo de x: Si y depende de x. El comando para obtener la diferencial total de una función f es Dt[f ] mientras que Dt[f . Los siguientes comandos proporcionan otras formas de calcular derivadas: f ’[x] obtiene la derivada primera de una función de una variable. La forma completa de f ’ es. f ’’[x] da la derivada segunda de una función de una variable. En este apartado los repasaremos brevemente y veremos cómo se pueden aplicar a gran número de problemas que aparecen en Cálculo. dx 49
. El objeto f ’ en Mathematica es el resultado de aplicar el funcional de diferenciación a la función f . ∂x
D[f . v. El comando D[f .1
Derivación explícita e implícita
El programa ofrece varios comandos para el cálculo de derivadas tanto de funciones de una variable como de varias variables. .5. por ejemplo.. x ...}] calcula la derivada parcial de f respecto a x considerando u. y así sucesivamente. n}] proporciona la derivada n-ésima ∂n f ..
Podemos hacer una deﬁnición
5. Los comandos anteriores resuelven este problema. obteniéndose una expresión de donde se podrá despejar la derivada. x ] o efectúa la derivada de la ecuación con respecto a x. d.}] proporciona la derivada total con c.. . Los comandos respectivos son: Grad[f ]. dy con el comando explícita para dx Dt[y. Constants →{c.. x . La función que Mathematica incorpora para esta eventualidad es Outer. d.7 y t = π. la divergencia.. Dada una aplicación f : Rn −→ Rm .4. y.2
Vamos ahora a resolver algunos problemas típicos: Ejercicio 42 Calcular y 0 (x) sabiendo que cos(x + sin y) = sin y. y dx dy
Dt[f . Ejercicio 43 La trayectoria de un móvil en dos dimensiones viene descrita por las ecuaciones x (t) = t cos t y (t) = t sin t 1. x . Div[f ]. a veces interesará calcular su matriz jacobiana y su determinante jacobiano. Así. A veces ocurre que una función y(x) viene dada implícitamente por una cierta ecuación e interesa calcular su derivada.Dt[f . Para concluir este apartado diremos que el paquete Calculus‘VectorAnalysis.. Dt[ecuaci´n. x ] = algo pudiendo anular la deﬁnición para la derivada con Clear[y].m dispone de funciones especíﬁcas para el cálculo del gradiente. constantes.. 50
. Dibujar la trayectoria desde t = 0 hasta t = 2π y la recta tangente en los puntos t = 1. el rotacional y el laplaciano de un campo vectorial f .] da la derivada total múltiple d d · · · f. Curl[f ] y Laplacian[f ].
0) f (x. π] vale V (t) = e−t .4. 0) .3
Vamos ahora a resolver algunos problemas típicos de cálculo de máximos y mínimos de funciones de una y dos variables. 0). (x. Ejercicio 47 Aplicar el teorema de los incrementos ﬁnitos para ver cuales de las funciones anteriores del problema 45 son diferenciables en el punto (0. Dibujar la curva y las dos tangentes. y) = x2 + y 4  0 si (x. Estudiar la continuidad de las derivadas parciales calculadas en el problema anterior. 51
. así como su interpretación geométrica: Ejercicio 49 Dibujar la curva 2x2 − 2xy + y2 + x + 2y + 1 = 0. ¿Es diferenciable? ¿Se cumple el teorema de Young? 4. Dibujar la función y puntos 0 y 2 el polinomio en dicho intervalo. y) = x2 + y2  0. y) = (0. y. y) = (0. Estudia su continuidad en todo su dominio. y) = 2 2 x  + y2  xy si (x. 1. Calcula sus derivadas parciales en todo el dominio. (x. Determinar los puntos de corte de estas rectas tangente y los ejes coordenados. 0) Ejercicio 46 Dada la función ¢ ¡   xy x2 − y2 .2. Ejercicio 45 Calcular las derivadas parciales de la función x3 y − xy 3 f (x. Calcula la ecuación de sus tangentes en los puntos de abcisa x = −1/2. y) 6= (0. Ejercicio 48 Calcular la derivada direccional de la función 1 f (x. 1. Dibuja las gráﬁcas de las funciones dadas. 3. y) 6= (0. Ejercicio 44 Una fuente de alimentación suministra un voltaje periódico en el tiempo 2 de modo que en [−π. Aproximar esta función en torno a los π mediante un polinomio de Taylor de grado cuatro. 0) f (x. 1) según el vector (1.
2. z) = p 2 + y2 + z2 x
en el punto (2.
Curva intersección del paraboloide x2 = z y el plano x = y. Obtener los máximos y mínimos de U. y) = 1 − e−(x−1)
−(y−2)2
1. y. Dibujar las gráﬁcas correspondientes. y) = −120x3 − 30x4 + 18x5 + 5x6 + 30xy 2 Dibujarla. Ejercicio 54 Usar el método de los multiplicadores de Lagrange para hallar los valores máximo y mínimo absoluto de f (x. Ejercicio 56 Hallar y clasiﬁcar los puntos extremos de la función f (x. calcula y clasiﬁca sus puntos extremos. r = 2 ± 3 sin t (caracoles). ¿Y su aceleración? Ejercicio 52 Dibujar la función f (x. y) = x2 + 3y 2 e1−x −y . Calcular el error cometido al aproximar la función por este polinomio de Taylor. Demuéstralo. y) = x2 + y2 − xy. Dibujar la gráﬁca de la función U y los conjuntos de nivel para presión y volumen entre 0 y 3. 3. y) = x2 − y2 − xy . y) = x2 + y 2 .Ejercicio 50 Dibujar las curvas siguientes y estudia en que puntos la función no tiene derivada. Ejercicio 57 La energia interna de un cierto sistema viene dada en función de la presión x y el volumen y por U (x. r = 2 cos 3t (rosa de tres pétalos) r2 = 4 sin 2t (lemniscata). f (x. y) = x2 + y 2 − x − y + 1 en el disco unidad. f (x. ¿cúal es la velocidad de dicho móvil en cada uno de los puntos?. Ejercicio 55 Hallar y clasiﬁca los puntos extremos no degenerados de la función f (x. Ejercicio 51 Dibujar las curvas siguientes: Curva intersección del cilindro x2 + y 2 = 9 y el plano x = z. Haz una representación gráﬁca. 52
. 2. ¢ e 2 2 f (x. mínimos y puntos silla locales. Calcular el polinomio de Taylor de grado 2 de U en uno de los mínimos obtenidos. Suponiendo que estas curvas son las seguidas por un móvil. z) = x2 + xy + y 2 + z 2 . Ejercicio 53 Hallar los puntos extremos de las funciones siguientes y determinar cuales son máximos. y) = ¡1+x −y . 2 2 f (x.
Determinar sus puntos críticos. 2.Ejercicio 58 Dada la función f (x. 1. Calcular la aproximación de segundo grado en dicho punto. y) = y sin (πx). −1) . 1. Demostrar que deﬁne a z como una función de x e y en un entorno del punto (1. Ejercicio 59 Dada la ecuación z 4 + x2 z 3 + y 2 + xy = 2. 1. 1. 4. −1) . 2. Dibujarla. 3. 0) . 3. Calcular el plano tangente a esta superﬁcie en un entorno del punto (1.
. Calcular las aproximaciones de Taylor de primer y segundo grado en el punto (0. Determinar sus puntos críticos restringidos al plano z = 1.
More from Noi ZamoraOperator Manual Porti_SW40Manual Crystal Reports XIinforme 2Modulacióndgpn_AspectosGeneralesDiseñoTop Nonfiction on ScribdThe InnovatorsThe Emperor of All MaladiesHard ChoicesJohn AdamsThis Changes EverythingThe PrizeGrand PursuitTeam of RivalsRise of ISISA Heartbreaking Work Of Staggering GeniusSteve JobsAngela's AshesHow To Win Friends and Influence PeopleSapiensElon MuskYes PleaseDevil in the GroveTime to Get ToughThe World Is Flat 3.0The New Confessions of an Economic Hit ManA People's History of the United StatesThe Hard Thing About Hard ThingsSmart People Should Build ThingsBad FeministTop Fiction on ScribdThe Light Between OceansBrooklynThe Rosie ProjectThe First Bad ManThe FlamethrowersA Man Called OveThe MasterThe Blazing WorldWe Are Not OurselvesThe Perks of Being a WallflowerThe Kitchen HouseMy Sister's KeeperLittle BeeThe WifeOrdinary GraceGood in BedThe Constant GardenerExtremely Loud and Incredibly CloseThe Silver Linings PlaybookLife of PiThe Love Affairs of Nathaniel P.Bel CantoLovers at the Chameleon Club, Paris 1932The WallcreeperThe Bonfire of the VanitiesThe Cider House RulesWolf HallInterpreter of MaladiesA Prayer for Owen MeanyThe Art of Racing in the Rain

References: resolución 
 resolución 
 resolución 

Resolución 
 resolución 
 resolución 
 resolución