Manual de Prácticas de Matemáticas, mediante el uso de Software MATLAB Autor: M.C. Héctor Isaias Esc

Page 1

1

Manual de Prácticas de Matemáticas, mediante el uso de Software MATLAB Autor: M.C. Héctor Isaias Escobosa Iribe.

Objetivos: Con este trabajo busco encontrar una manera de mejorar el aprovechamiento de los estudiantes en la materia de Matemáticas I (cálculo) mediante el uso de Software especializado Matlab, en la realización de una serie de prácticas adecuadas a los diferentes temas que se estudian es dicha materia, en las cuales incorporé la metodología de enseñanza a través de la resolución de problemas (POLYA); específicamente, desarrollando un manual de prácticas para dicha asignatura en el que incorporé dicha metodología. Además, como otras materias de ciencias básicas, tales como: Matemáticas II, Ecuaciones Diferenciales y Análisis Numérico, entre otras, presentan características similares, es posible que el uso del Software Matlab y la metodología que se está aplicando puedan ser utilizados también en ellas. Lograr que los estudiantes, conozcan, dominen y apliquen las instrucciones del software Matlab, en la elaboración de programas script, estructurados de forma lógica y congruente con los diferentes temas de la materia matemáticas I (cálculo), lo cuál les permita resolver problemas típicos de dicha asignatura, para que posteriormente utilicen dicha herramienta en otras materias de su carrera; para que así, adquieran una completa y eficiente preparación. Pretendo colaborar en el mejoramiento del proceso de enseñanza-aprendizaje de las ciencias básicas en las Instituciones de Educación Superior, para así coadyuvar en la formación integral de los futuros profesionistas y técnicos que requiere el estado de Sinaloa y México. Estoy realmente interesado en colaborar con el mejoramiento del proceso de enseñanza aprendizaje de las Matemáticas, porque de esa manera podré desarrollarme un poco más, tanto en el campo docente como profesional. Me siento entusiasmado por contribuir con mis conocimientos y habilidades. Uno de los enormes atractivos del e-mail es que no interrumpe el trabajo o un diálogo como ocurre con los teléfonos. El correo electrónico se hace cada vez más popular porque es, a la vez, un medio asincrónico y legible por computadora. La vida digitalizada incluirá muy pocas emisiones en tiempo real. A medida que las transmisiones se vayan digitalizando, los bits no solo podrán ser transferidos con gran facilidad en el tiempo, sino que no hará falta que sean recibidos en el mismo orden o en la misma proporción en que serán consumidos. Con la posible excepción de sucesos deportivos y resultados electorales, la tecnología sugiere que la televisión y la radio del futuro serán emitidas en diferido, es decir, asincrónicamente. Esto se hará a pedido ó utilizando Broadcatching, un término acuñado en 1987 por Stewart Brand en su libro sobre el Media Lab. Broadcatching es la radiación de una corriente de bits, con grandes cantidades de información lanzada al éter o enviada a través de la fibra óptica. En el extremo receptor, una computadora copia los bits, los analiza, almacena lo que usted consumirá en algún momento y descarta el resto.

La Topología de un planeta que se está achicando. Hoy en dia, tenemos cuatro vías electrónicas de ingreso a nuestros hogares: el teléfono, el cable de fibra óptica, el satélite y las emisiones terrestres. Sus diferencias tienen que ver más con la topología que con modelos económicos alternativos. Si queremos enviar el mismo bit de datos, al mismo tiempo, a todos los hogares de México, obviamente deberíamos utilizar un solo satélite cuya huella satelital abarque desde la costa este hasta la costa oeste del país. Así, la distancia tiene cada vez menos significado en el mundo digitalizado y de hecho, un usuario de Internet la olvida por completo. En la Internet, la distancia a menudo pareciera funcionar a la inversa. Muchas veces obtenemos respuestas más rápidas de lugares muy lejanos que de los que están más cerca (Garcia, 2000).


2

Redes y redes. Las redes de televisión y las redes de computación son casi lo opuesto. Una red de televisión es una jerarquía de distribución con una fuente (de donde viene la señal) y muchos sumideros (hacia donde van las señales). Las redes de computación, por el contrario, son un enrejillado de procesadores heterogéneos, cada uno de los cuales puede actuar tanto como una fuente o como sumidero. Las dos son tan diferentes la una de la otra, que sus diseñadores ni siquiera hablan el mismo lenguaje. Cuando los ingenieros de video encararon la televisión digital, no aprendieron las lecciones que les ofrecia el diseño de la red de computación. Ignoraron la flexibilidad de sistemas heterogéneos y encabezados llenos de información. En lugar de eso, se pelearon entre si por cuestiones como resolución, medidas del cuadro, proporción de la imagen y entrelazado, en lugar de permitir que todo eso fueran simples variables. La doctrina de las emisiones televisivas contiene todos los dogmas del mundo análogo y casi carece por completo de principios digitales, como arquitectura abierta, escalabilidad e interoperabilidad. Esto cambiará, pero hasta ahora, el cambio ha sido muy lento. El agente de cambio será la red Internet, tanto en su sentido real como metafórico, la Internet no sólo es interesante como red global masiva y penetrante, sino también como ejemplo de algo que ha evolucionado sin un diseño determinado, manteniendo su forma mediante el mismo mecanismo que la bandada que vuela en formación "V"; nadie es jefe, y todas las piezas se acomodan admirablemente. Los expertos en comunicación esperan que cada vez habrá mas gente entreteniendose en la Internet que la que hoy en dia mira las cadenas de televisión. La Internet evolucionará más alla de los MUDs(Multi User Dungeons = ó grupos de discusión en tiempo real) y de los MODs(Mud Object Oriented o sea un MUD orientado hacia un objetivo); esto suena como el Woodstock de los sesenta trasladado a los noventas y digitalizado y comenzará a brindar una gama más amplia de entretenimiento.

Software educativo. Con referencia al uso de Software de computadora en la enseñanza, Seymour Papert señala que "ser bueno" en idiomas es un concepto relativo, si se considera que cualquier niño de 5 años aprende alemán en Alemania, italiano en Italia ó japones en Japón. A medida que vamos creciendo, pareciera que perdemos esa habilidad, pero no podemos negar que, de niños, la tuvimos. Papert propuso que, cuando pensemos en el uso de la computación en la educación, hagamos de cuenta, real y metafóricamente, que estamos creando un pais llamado, digamos, Matlandia, donde el niño aprenda Matemáticas de la misma manera que aprende idiomas. Papert establece que somos una sociedad con mucho menos niños con discapacidad de aprendizaje y con mucho más entornos con discapacidad para enseñar, de lo que generalmente creemos. La computadora tiende a cambiar esta realidad, brindándonos medios que nos permiten llegar mejor a niños con diversos estilos cognoscitivos y de aprendizaje. La Internet brinda un nuevo medio para buscar y encontrar conocimientos y significados. Históricamente, el campo de la educación se ha orientado hacia modelos de aprendizaje que tienen como punto focal la instrucción es decir, lo que llamamos aprendizaje por transmisión. La palabra profesor implica métodos de aprendizaje según los cuales un experto que posee información la transmite o difunde a sus estudiantes. Los estudiantes que están "sintonizados" absorben la información que les "enseñan"- es decir, que les transmiten en la memoria funcional activa. En el campo de la psicología educacional abundan investigaciones, teorías y lecciones sobre los factores que impiden que dicha información sea recibida y almacenada para ser utilizada luego. Desde luego, muchos maestros se han esforzado considerablemente por ser más que simples transmisores de información, medidores de la retención y jueces del desempeño. Casi todos podemos recordar por lo menos un profesor o profesora que nos inspiró para que nos esforzaramos al máximo; que nos insistió a pensar de modo diferente, que nos capacitó para procesar e integrar información proveniente de distintos campos; que nos ayudó


3 a adquirir conocimientos y valores. Sin embargo, pese a los esfuerzos nobles y a veces heróicos de los profesores, que enseñan en aulas repletas de alumnos y recursos limitados, el sistema educativo sigue estando, en su mayor parte, diseñado de acuerdo con el modelo de transmisión. En muchas Instituciones educativas (públicas y/o privadas) del continente americano, se sigue trabajando con métodos de enseñanza basados en el conductismo; incluso, muchos programas de instrucción basados en el computador se apoyan en gran parte, en esta visión transmitida del aprendizaje. Pese a ello, el uso de Software y Hardware ha probado ser un valioso recurso didáctico para hacer más eficientes los procesos educativos, puesto que mejora sustancialmente el aprendizaje y rendimiento de los estudiantes de las distintas carreras de ciencias e ingeniería. Software como: Matlab, Maple, Cabry, Simnon, CC4, etc, son paquetes comerciales; sin embargo, con ellos se pueden desarrollar programas diversos de investigación y/o desarrollo en el campo educativo (por ejemplo, en la enseñanza de las Matemáticas). Utilizar Software especializado para Matemáticas como el programa Matlab, contribuye a desarrollar habilidades heurísticas, de metacognición y la creatividad, dado que estimula al estudiante a: · · · ·

Utilizar el racionalismo, en donde el sujeto es activo en tanto que procesa la información que le envían sus sentidos en función de sus marcos conceptuales. Utilizar el pensamiento lógico-abstracto. Desarrollar su estructura cognitiva para aceptar y construir nuevo conocimiento. Desarrollar los aspectos funcionales que constituyen un modelo constructivista desequilibraciónreorganización-equilibración por medio del cual se explican las funciones del desarrollo cognitivo.

A continuación, presento de manera detallada, las prácticas para un curso de Matemáticas I (cálculo) utilizando el Software MATLAB.


4

Manual de Prácticas de Matemáticas, mediante el uso de Software MATLAB Práctica #1: Ambientación con el software Matlab. El Objetivo de la práctica es lograr que los estudiantes de la materia matemáticas I (cálculo) se familiaricen, comprendan y dominen las principales características del Software Matlab, para que posteriormente puedan aplicar las diversas instrucciones y/o comandos que conforman dicho paquete computacional, y las apliquen en la realización de operaciones diversas de cálculo con números reales y/o complejos, en operaciones con arreglos vectoriales y matriciales, en la construcción de gráficas, en la elaboración de programas script, y en general, en la resolución de todo tipo de problemas que se presentan en dicha asignatura; a través de la práctica en computadora. Operaciones Aritméticas Básicas con Matlab. OPERACIÓN SUMA: A + B RESTA: A – B MULTIPLICACION: A * B DIVISION: A / B POTENCIA: AX (A ^ X)

SIMBOLO + * ÷ ^

EJEMPLO ANS= 5+3 8 23 - 12 11 3.14 * 0.85 2.669 57 / 6 9.5 1..5 2^ 2. 828427

NOTA.- Las expresiones se evalúan de izquierda a derecha, con la operación de potencia teniendo el orden de precedencia más alto seguida por multiplicación y división que tienen ambas igual procedencia y seguida, finalmente, por la suma y resta que tienen igual procedencia. Ejemplos: E-1-) las soluciones de la ecuación general de 2º grado: aX2 + bX + c = 0, se escriben ó representan en Matlab, de la siguiente forma: X1 = ( -b + sqrt( b^2 – 4*a*c) ) / (2*a) X2 = ( -b - sqrt( b^2 – 4*a*c) ) / (2*a) E-2-) La ecuación general para determinar el área de cualquier triángulo, se expresa en Matlab, de la siguiente manera: a b Area = ( S*(S-a)*(S-b)*(S-c) )^.5 % ó también Area Area = sqrt( S*(S-a)*(S-b)*(S-c) ) % donde S = a + b + c c E-3-) La ecuación general de Tartaglia/Cardano para determinar la raiz-real (solución) de cualquier polinomio de 3er grado de la forma: y3 + p y + q = 0, y = 3Ö(-q/2) + Ö(q/2)2 + (p/3)3 +

3

Ö (-q/2) - Ö(q/2)2 + (p/3)3

La anterior expresión se expresa (en Matlab) de la siguiente manera: y = ((-q/2) + sqrt((q/2)^2 + (P/3)^3))^(1/3) + ((-q/2) - sqrt((q/2)^2 + (P/3)^3))^(1/3) Nota- todo polinomio X3 + a1 X2 + a2 X + a3 = 0 puede ser llevado a la forma reducida o forma de cardano, haciendo el siguiente cambio de variable: X = Y – (a1/3)


5

Formatos de Visualización de Números. Cuando un resultado es un número Real, Matlab la visualiza con 4 digitos a la derecha del punto decimal (por omisión); si los digitos significativos en el resultado están fuera de este rango Matlab visualiza el resultado en notación cientifica similar a las calculadoras científicas. Se puede cambiar el formato númerico usando la opción Numerical Format en el menú Options; estos formatos numéricos son (tomando como ejemplo 215/6):

Orden MATLAB

EJEMPLO

Característica

format long format short e format long e format hex format bank format + format rat format short

35.8333333333333334 3.5833 E + 01 3.583333333333334 e+01 4041eaaaaaaaaaab 35.83 + 215/6 35.8333

16 Digitos 5 Digitos más exponente 16 digitos más exponente Hexadecimal 2 dígitos decimales Positivo, negativo o cero Racional visualización por default

Nota.- Es importante notar que Matlab no cambia la representación interna de un número cuando se seleccionan diferentes formatos, sólo se modifica la visualización del mismo.

Variables en MATLAB. REGLAS

COMENTARIOS

1- Las variables son sensibles a Mayúsculas 2- Los nombres de variables pueden contener hasta 19 caracteres

Alfa y alfa son variables diferentes para Matlab. Los caracteres más allá del 19 son ignorados por Matlab.

3- Los nombres de variables deben comenzar con una letra seguida por cualquier número de letras, digitos o guiones de subrayado

No se permiten los carateres de puntuación, ya que muchos tienen significado especial en Matlab.

Variables Especiales de MATLAB: Ans Pi Eps Inf Nan ij Realmin Realmax Clear

Nombre por default de la variable usada para los Resultados Razón de una circunferencia a su diamétro. Número más pequeño tal que, cuando se le suma 1, crea un número en coma flotante (en el computador) mayor que 1. Infinito, p.e. 1/0. Magnitud no numérica (not a number), p.e. 0/0. i = j = Ö -1 (número imaginario). El número real positivo más pequeño que es utilizable. El número real positivo más grande que es utilizable. Instrucción que borra todas las variables en el espacio de trabajo.


6

Otras Características Básicas de Matlab: 1- Las comas (,) le dicen a Matlab que visualice los resultados; los puntos y comas (;) suprimen su visualización. 2- El Usuario puede interrumpir Matlab en cualquier momento, presionando las teclas [Ctrl] + [C]. 3- Matlab evalúa una expresión de izquierda a derecha dando precedencia a la potencia sobre la multiplicación y la división, y a éstas sobre la suma y la resta. 4- Si una órden es demasiado larga, escriba tres puntos (...) seguido por Enter para continuar la orden de Matlab en la línea siguiente. 5- Por default (por omisión), Matlab almacena resultados en la variable ans. 6- Escribiendo la instrucción Quit (Exit) termina una sesión en Matlab.

Características Científicas. Análogamente a la mayoria de las calculadoras científicas, Matlab ofrece funciones importantes comunes a las matemáticas, a la ingieneria y a las ciencias. Más aún, Matlab maneja con facilidad números complejos. Por ejemplo, si escribimos (en linea de comandos):

>> a=1; b=2; c=2; >> d= (b^2) – (4*a*c); >> x1=(-b + sqrt(d))/2; >> x2=(-b - sqrt(d))/2; % al pedir los valores de las variables x1 y x2, tendremos: x1 = -1 + i x2 = -1 - i % ( i = Ö -1 es el número imaginario, raiz cuadrada de (-1) ) 2

Los Valores x1 y x2 son las soluciones de la ecuación cuadrática X + 2X + 2 = 0 Operaciones con Arreglos (Arrays = Arreglos de números reales). No existe una manera uniforme de crear Arreglos (Arrays), sin embargo, el direccionamiento de arreglos y la capacidad de combinar expresiones puede ayudar a eliminar la necesidad de introducir elementos individuales uno a uno; por ejmplo: Ejemplo 1 >>A = 1: 5, B = 1: 2: 9 A=12345 B=13579

Enter

Ejemplo 2 >> X = ( 0: 0.1: 1)* pi Enter X = columns 1 through 7 0 0.3142 0.6283 0.9425 1.2566 1.5708 columns 8 through 11 2.1991 2.5133 2.8274 3.1416

1.8850


7 Ejemplo 3- Para el caso especial donde se desea un espaciado logarítmico, Matlab proporciona la función: Logspace: >> Logspace (0, 2, 11) ans= columns 1 through 7 1.0000 1.5849 2.511 3.9811 6.3096 10.0000 15.8489 columns 8 through 11 25.1189 39.8107 63.0957 100.0000 {de esta manera creamos un arreglo comenzando en 100 y finalizando en 102}

Arreglo de Arreglos en MATLAB. Las operaciones matemáticas entre Arreglos (Arrays) no son tan simples como las que ocurren entre escalares y arreglos. Claramente, las operaciones de arrreglos entre arreglos de diferentes longitudes son dificiles de definir. Sin embargo, cuando 2 arreglos tienen la misma longitud, la suma, la resta, la multiplicación y la división se aplican sobre la base de elemento – a – elemento. Por ejemplo: >> A, B Enter A=12345 B=13579

{vuelve a llamar a los arreglos usados previamente}

>> A + B {suma los dos arreglos, elemento a elemento y coloca el resultado en la variable por default ans} ans = 2 5 8 11 14 Ahora, al resultado obtenido le restamos el arreglo B >> ans – B ans= 12345 >> 2 * A – B % resta B del resultado (2A ) ans= 11111 Nota- La multiplicación y la división elemento a elemento, funciona análogamente pero utilizando una notación ligeramente menos convencional, como veremos a continuación: >>A. * B

% el punto que precede al asterisco, que es el simbolo estandar de la multiplicación, le indica a matlab que efectue la multiplicación de los arrays elemento a elemento. ans= 1 6 15 28 45

Nota- La multiplicación A* B sin el punto significa multiplicación matricial. La división de arrays ó “división con punto”, también requiere el uso del simbolo del punto: >> A./B ans= 1.000 0.6667 0.6000 0.5714 0.5556 La Potencia de un arreglo: El símbolo Ù se reserva para la potencia de una matriz, y Ù (el símbolo circunflejo à ALT + 94) se utiliza para denotar potencia de un arreglo elemento a elemento.


8 Por ejemplo: >> A, B Enter % vuelve a llamar a los arreglos usados anteriormente A=12345 B=13579 >> A. Ù2 % eleva al cuadrado los elementos individuales de A. ans= 1 4 9 16 25 >> 2. ÙA % la base 2 es elevada a cada uno de los elementos de A. ans= 2 4 8 16 32 >> B. ÙA % eleva los elementos de B a los elementos correspondientes en A. ans= 1 9 125 2401 59049 >> B. Ù (A - 3) % muestra que se pueden combinar operaciones escalares y de arrays ans= 1.0000 0.333 1.0000 7.0000 81.000 Orientación de arreglos: Las funciones de creación de arreglos que se han visto anteriormente, todas forman “vectores filas”. La forma más directa de crear un “vector columna” es especificarlo elemento a elemento y separar los valores con punto y coma. Ejemplo: >> C = [1; 2; 3; 4] C= 1 2 3 4

Enter

{Basandose en este ejemplo, separar los elementos por espacios y comas, especifica elementos en diferentes columnas (vector fila); en tanto que separar elementos con punto y coma especifica elementos en diferentes filas (vector columna)}

Para crear un vector columna, usando la notación de los dos puntos; esto es, valor_inicial: incremento: valor_final, ó las funciones Linspace y Logspace, se debe trasponer la fila resultante en una columna usando el operador transpuesta ( ¢ ) de Matlab. Por ejemplo: >> A = 1: 5 % crea un vector fila empleando el formato de la notación de 2 puntos A=12 3 4 5 >> B = A' % el operador transpuesta´ cambia el vector fila A en el vector columna B B=1 2 3 4 5 >> D = B' % aplica la transpuesta otra vez y cambia de nuevo la columna a una fila D=12 3 4 5 La creación de Matrices sigue la misma estructura de los vectores fila y columna. Se utilizan comas ó espacios para separar elementos en una fila especifica y puntos y comas(;) para separar filas individuales. Tenga siempre presente, que en un arreglo matricial de Matlab, todas las filas deben tener el mismo número de columnas. El orden de una matriz, está dado por el número de filas y de columnas que posee.


9 Por ejemplo, para generar una matriz A de orden 2x3, hacemos >> A = [1 2 3; 4 5 6 ] Enter A= 1 2 3 % "A" es una matriz que tiene 2 filas y 3 columnas 4 5 6 >> B = [-1 2 1; 2 -1 3; -1 1 2] Enter B = -1 2 1 % "B" es una matriz que tiene 3 filas y 3 columnas 2 -1 3 -1 1 2 El producto de ambas matrices estará dado por: >>C =A*B C = 0 3 13 0 9 31

Enter % "C" es una matriz cuyo orden es 2x3; tiene 2 filas y 3 columnas

Nota1.- Recuerde que para poder realizar el producto matricial A*B, el número de columnas de la matriz A tiene que ser igual al número de filas de la matriz B. An m * Bm k = Cn k Nota2.- Observe que las matrices A y B del ejemplo inmediato anterior, se pueden multiplicar, pero No-se pueden sumar (por que son de diferente orden). El usuario de Matlab, debe tener presente, las siguientes propiedades matriciales: P1-) An m + Bn m = Bn m + An m Propiedad Conmutatíva para la suma matricial

P2-) An m +(Bn m +Cn m) = (An m + Bn m)+Cn m Propiedad Asociativa para la suma matricial P3-) En general, A*B ¹ B*A el producto matricial No-es conmutatívo; sin embargo, existen dos casos con matrices cuadradas, en donde si se cumple la conmutatividad: An n * In n = In n * An n à Una matriz cuadrada por la matriz Identidad del mismo orden.

An n * A-1n n = A-1n n * An n

à Una matriz cuadrada por su matriz Inversa

P4-) A *(B * C) = (A * B) * C Propiedad Asociativa para el producto matricial P5-) A *(B + C) = (A * B) + (A* C) P6-) An n * A-1nn = Inn

Propiedad Distributiva matricial

Propiedad de la Inversa de una Matriz A cuyo determinante det(A) ¹ 0, es diferente se cero

P7.-) (An n * Bn n)-1 = B-1nn * A-1n n Propiedad conocida como Ley de Morgan Estas son sólo algunas de las importantes propiedades que tienen las matrices. A continuación se ilustra como utilizar Matlab para resolver sistemas de ecuaciones lineales cuadrados: [Ann] [Xn] = [Bn] de donde:

[Xn] = [Ann]-1 [Bn]


10 Como un ejemplo, tenemos lo siguiente: >> A = [1 A=1 2 4 5 7 8

2 3; 4 5 6; 7 8 0] 3 6 0

>> B = [366; 804; 351] B = 366 804 351

[Enter]

[Enter]

Este problema tiene una única respuesta(solución) siempre que el determinante de la matriz A sea distinto de cero (det(A) ¹ 0): >> det(A) ans = 27 Como esto es cierto, Matlab puede encontrar la solución de AX = B de dos maneras, a elección. El método favorable y más directo, es usar X = A-1 B >> X = Inv(A) * B Obteniendose como resultado X = 25.000 22.000 99.000 Aquí, Inv(A) es una función de matlab que calcula la matriz A-1 y el operador * de multiplicación, sin que le preceda un punto, es la multiplicación matricial. La otra forma ó metodo para encontrar la solución consiste en utilizar el operador de división matricial a izquierda: >> X = A \ B %

con lo que se obtiene el siguiente resultado:

X = 25.000 22.000 99.000 Este método requiere menos multiplicaciones y divisiones internas y por eso es más rápido en problemas grandes. Otras características- Si el lector ha estudiado álgebra líneal, sabe que cuando difieren el número de ecuaciones y el número de incógnitas, normalmente no existe una única solución. Sin embargo, con algunas restricciones es posible encontrar una solución práctica. En Matlab, cuando hay más ecuaciones que incógnitas ó sea el caso sobre-determinado, la utilización del operador de división / ó \ automáticamente encuentra la solución que minimiza el error al cuadrado en | AX – B | = 0. Esta solución es de gran valor práctico y se le conoce como la “solución de mínimos cuadrados”.


11 Por otra parte, cuando hay menos ecuaciones que incógnitas, ó sea el caso indeterminado, existe un número infinito de soluciones; de estas soluciones Matlab calcula dos de una forma directa. El uso del operador de división da una solución que tiene ceros para algunos de los elementos de X. Alternativamente, calculando X = Pinv(A) * B, se obtiene una solución donde la longitud ó norma euclidiana de X es más pequeña que todas las otras posibles soluciones. Esta solución, basada en la pseudoinversa, también tiene gran valor práctico y se le conoce como la “solución de norma mínima”. A.’ es la transpuesta de la matriz A. La transpuesta compleja conjugada de la matriz A se escribe como A’ (sin punto). D = eig(A) devuelve los valores característicos “Eigenvalues” (valores propios) asociados con la matriz cuadrada A; como un vector columna. [V,D] = eig(A) devuelve los vectores característicos “Eigenvectors” (vectores propios) en la matriz V y los valores característicos como los elementos diagonales en la matriz D. Nota: [a,b] à es la forma estándar de Matlab de devolver dos variables a,b de una función. [L,U] = Lu(A)

Calcula la factorización LU de la matriz cuadrada A.

[Q,R] = qr(A)

Calcula la factorización QR de la matriz A.

[U,S,V] = svd(A)

Calcula la descomposición en valores singulares de la matriz a.

Rank(A)

Devuelve el rango de la matriz A.

Cond(A)

Devuelve el número de condición de la matriz A.

Norm(A)

Calcula la norma de la matriz A. Matlab admite el cálculo de norma-1, norma-2, norma-f y norma- ¥ Encuentra el polinomio característico asociado con la matriz cuadrada A. Evalúa el polinomio característico V usando matriz cuadrada A.

Poly(A) Polyvalm(V,A)

A continuación se presentan ejemplos adicionales de manipulación de arreglos. >> X = - 3: 3 % crea un arreglo; como vector fila X = -3 –2 –1 0 1 2 3 >> abs(X) > 1 ans = 1 1 0 0 0 1 1 % Se tienen unos donde el valor absoluto de X es mayor que 1. >> b = [5 –3; 2 –4] b=5 -3 2 –4 >> X = abs(b) > 2 X=1 1 0 1


12 En aquellos casos donde se desconoce el tamaño de una matriz ó vector, Matlab proporciona dos funciones de utilidad Size y Length: >> A = [1 2 3 4; 5 6 7 8] A=1 2 3 4 5 6 7 8 >> B = pi: 0.01: 2*pi; >> S = size(A) S=24 Con un argumento de salida, la función Size devuelve un vector fila cuyo primer elemento es el número de filas y el segundo elemento es el número de columnas. >> [r, c] = Size(A) r=2 c=4 Con 2 argumentos de salida, Size devuelve el número de filas en la primera variable y el número de columnas, en la segunda variable. Matrices Especiales: Matlab ofrece una serie de matrices especiales; algunas de ellas son de utilidad general, mientras que otras son matrices de interés en disciplinas especializadas. Veremos algunos ejemplos:

>> eye (3)

% para generar una matriz identidad de 3 * 3.

ans = 1 0 0 0 1 0 0 0 1 >> Zeros (3) ans = 0 0 0 0 0 0 0 0 0 >> Ones (3) * pi

% para generar una matriz 3 * 3 de ceros.

% para generar una matriz 3x3 con todos los elementos iguales a p

ans = 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 3.1416 >> Rand (3,1) ans = 0.2190 0.0470 0.6789 >> Randn (2) ans = 1.1650 0.6268

% para generar una matriz 3 * 1 de números aleatorios, distribuidos uniformemente entre 0 y 1.

% para generar una matriz de 2 * 2 de números aleatorios, normalmente con media cero y varianza unidad. 0.0751 0.3516


13 Problemas sobre Arreglos (Matrices), para resolver en la pr谩ctica con Matlab:

P-1.-) Dadas las siguientes Matrices (Arreglos),

A =

1 2 3 1 0 1 4 2 3 0 2 3

4 B = 3 0 3

1 2 1 1

2 1 2 0

7 C= 1 4

E=

2 3 0 1 0 1 0 1 2 1 5 0

determine las siguientes matrices: D= A+ E

H = B*A

F= A - E

I = B*C

G = A*B

J = G + E*B

P-2.-) Determine la soluci贸n de cada uno de los siguientes sistemas de ecuaciones l铆neales, y verifique los resultados. a-)

2 X + Y - 3 Z = -1 - X + 3Y + 2 Z = 12 3X+ Y -3Z= 0

c-)

0.1 X - 0.6 Y + Z = 0 - 2 X + 8 Y + 0.3 Z = 1 X + 6 Y + 4 Z= 2

b-)

4X+ Y - Z = 9 3 X + 2Y - 6 Z = -2 X - 5Y + 3Z = 1

P-3.-) Determine la Inversa de cada una de las siguientes Matrices (Arreglos) cuadradas, no singulares:

A =

1 -1 0 0

-1 2 -1 0

0 -1 2 -1

0 0 -1 2

1 4 5 B = 2 1 2 8 1 1

C=

-1 1 2 -3 2 -1 3 2 0 2 4 1 5 1 1 -1

P-4.-) Expanda el determinante de la siguiente Matriz cuadrada, a una forma Polin贸mica:

A =

(2 -X) 4 1 (-1 - X) 2 0

6 5 (1 - X)


14

P-5.-) Demuestre que la ecuaci贸n de la L铆nea Recta que pasa por dos puntos P1(X1, Y1) y P2(X2, Y2), puede expresarse como el determinante de la siguiente Matriz:

A =

X X1 X2

Y Y1 Y2

1 1 1

P-6.-) Expanda el determinante de la siguiente Matriz cuadrada, a una forma Polin贸mica:

A =

(1 -X) -2 1 (1+ X) 0 -1

3 -1 (2 + X)


15

Práctica #2: Operaciones con números reales y complejos Esta práctica consiste en realizar diversos cálculos con números reales y/o con números complejos, mediante el uso de instrucciones de Matlab. El Objetivo de la práctica es lograr que el estudiante comprenda y domine diferentes instrucciones del Software Matlab para realizar operaciones diversas de cálculo con números reales y/o complejos, practicando dichos comandos en diferentes fórmulas que se utilizan con frecuencia en los cursos de matemáticas. % determinación del área A de un triángulo, conociendo sus lados: >> a = 2; b = 3; c = 5; >> s = (a + b + c); >> A = sqrt(s*(s-a)*(s-b)*(s-c)); >> A = 52.915 % determinación de las raices de una ecuación cuadrática: >> a = 1; b = 4; c = 13 >> x1= (-b + sqrt (b^2 – 4 * a * c)) / (2*a) x1= -2.0000 + 3.0000i >> x2= (-b - sqrt (b^2 – 4 * a * c)) / (2*a) x2= -2.0000 – 3.0000i >> a * x1^2 + b * x1 + c ans = 0

% sustituir x1 para comprobar respuesta

>> a * X2^2 + b * X2 + c % sustituir x2 para comprobar respuesta ans = 0 También es factible usar J para respresentar Ö-1 la raiz de –1 (número imaginario) >> C1 = 1 – 2J C1 = 1.0000 – 2.0000 i

Enter

>> C2 = 3 * (2 – sqrt (-1) * 3) C2 = 6.0000 – 9.0000 i

Enter

>> C3 = sqrt (-2) C3 = 0 + 1.4142 i

Enter

>> C4 = 6 + sin (.5) * J C4 = 6.0000 + 0.4794 i

Enter

>> C5 = 6 – cos (.5) * i C5 = 6.0000 – 0.8775 i

Enter

NOTA- En general, las operaciones con números complejos, generan números complejos; esto se conoce como "propiedad de cerradura".


16 Como otro ejemplo de aritmética compleja, considere la identidad de Euler que relaciona la forma polar con la rectangular de un número complejo: t Z = a + bi = M (cos(t) + i sen(t) ) = M Î i La relación entre estas formas son: M = Ö a2 + b2

t = Arctg (b/a)

Módulo del número complejo Z = a + bi Argumento del número complejo Z = a + bi ; a = M cos(t)

% ejemplos: >> C1 C1 = 1.0000 – 2.0000 i

;

b = M sen(t)

% para utilizar el número complejo C1 anterior

>> X = Abs (C1) X = 2.2361

% para determinar el modulo de dicho número

>> Y = angle (C1) Y = - 1.1071

% para determinar el argumento de dicho número

>> real_C1 = real (C1) real_C1 = 1

% para separar la parte real de dicho número complejo

>> imag_C1 = imag(C1) imag_C1 = - 2

% para separar la parte imaginaria del número complejo

Otros ejemplos de operaciones con números complejos: >> Z1 = 1 + i >> Z2 = 1 + i Ö3 >> X1 = Abs (Z1) X1 = Ö2 = 1.4142...

% modulo del número complejo Z1

>> Y1 = angle (Z1) Y1 = 45º = p/4

% argumento del número complejo Z1

>> X2 = Abs (Z2) X2 = 2

% modulo del número complejo Z2

>> Y2 = angle (Z2) % al dar Enter, se obtiene Y2 = 60º = p/3

% argumento del número complejo Z2

>> W = Z1*Z2 W = (1 - Ö3) + (1 + Ö3) i

% producto de ambos números complejos

>> I = Z1^-1

% el inverso multiplicativo de Z1

I = (1 - i ) /2


17 Problemas para resolver en la práctica con Matlab. P-1-) Dados los valores de los lados de un triángulo: a = 3, b = 5 y c = 7, determine el valor del área de dicho triángulo. P-2-) Determine las soluciones (raices) de cada una de las siguientes ecuaciones de segundo grado (ecuaciones cuadráticas): a-) X2 - X - 12 = 0 b-)

3X2 - 2X + 10 = 0

c-)

X2 - X -

d-)

X2 - 2X + 2 = 0

e-)

5X2 + 4 X - 1 = 0

1=0

P-3-) La ecuación general de Tartaglia/Cardano para determinar las raices (soluciones) de cualquier polinomio de 3er grado de la forma: y3 + p y + q = 0, es y=

3

Ö(-q/2) + Ö(q/2)2 + (p/3)3 +

3

Ö (-q/2) - Ö(q/2)2 + (p/3)3

y se expresa en Matlab, de la siguiente manera: y = ((-q/2) + sqrt((q/2)^2 + (P/3)^3))^(1/3) + ((-q/2) - sqrt((q/2)^2 + (P/3)^3))^(1/3) 3

2

Nota- todo polinomio X + a1 X + a2 X + a3 = 0 puede ser llevado a la forma reducida o forma de 3 Cardano Y + PY + q = 0, haciendo el siguiente cambio de variable: X = y – (a1/3) Mediante el uso de la fórmula de cardano, determine las raices de cada uno de los siguientes polinomio de tercer grado: a-)

X3 - X2 - X - 1 = 0

c-)

X3 + X2 - 3 X - 2 = 0

b-)

X3 - 3X2 - 5 X + 4 = 0

P-4 -) Realice las operaciones indicadas, usando los siguientes números complejos: Z1 = 1 + i;

Z2 = - 1 + i Ö3

a-) Z1 * Z2 = ?

b-) Z1 / Z2 = ?

c-) exprese Z1 y Z2 en la forma polar. P-5-) Determine las soluciones (raices) de cada una de las siguientes ecuaciones de segundo grado (ecuaciones cuadráticas) con coeficientes complejos: a-)

X2 - i X + 2 = 0

b-)

i X2 - 2X + 2 = 0


18

Práctica #3: Graficación de funciones de una variable real. El Objetivo de la práctica es lograr que el estudiante comprenda y domine diferentes instrucciones del Software Matlab para construir gráficas de diversas funciones continuas, en el plano (f: Rà R2), practicando dichos comandos en diferentes fórmulas que se utilizan con frecuencia en los cursos de matemáticas. Antes de considerar las extensas capacidades gráfícas de Matlab, vamos a generar algunas, gráficas simples. Por ejemplo, para gráficar y = Sin(x) para 0 £ x ³ 2p, · ·

Se seleccionan los valores para la variable independiente (x), para formar el eje horizontal de la gráfica. Se calcula el seno para cada valor de la variable independiente, lo que proporciona los datos del eje vertical. Cada pareja de datos (Xn , Yn) se marca sobre un conjunto apropiado de ejes. Para mejorar la visión, es común dibujar una línea recta entre cada par de puntos marcados. En el presente ejemplo, en primer lugar se crean 30 puntos entre 0 y 2p. Instrucciones en Matlab, para generar la Gráfica de la Función f(x) = Sen(x) >> x = linspace(0, 2*pi, 30); >> y = sin(x); >> plot(x, y, ‘b’) >> xlabel('valores de x') >> ylabel('variable y') >> text(3, 0.8, ‘Y=Sin(x)’) >> title('Gráfica de la Función f(x) = Sen(x)') Gráfica de la función f(x) = Sen(x) 1 Y= Sin(x)

0.8 0.6 variable y 0.4 0. 0

0.4 -0.6 -0.8 0

1

2

3

4

5

6

7

valores de x Nota.-) La función Plot de matlab es muy poderosa. Automáticamente escoge los límites de los ejes, marca los puntos individuales y dibuja líneas rectas entre ellos. Las opciones en la orden Plot permiten hacer gráficas de múltiples conjuntos de datos sobre los mismos ejes, usar diferentes tipos de líneas tales como punteadas y a trazos, usar diferentes colores para las curvas, etc. Ahora, veremos como construir ambas gráficas, la de f(x)=Sin(x) y la de g(x)=Cos(x) en la misma figura; esto es, que ambas aparezcan en la misma página. Gráficas de ambas funciones: f(x) = Sen(x) aparece en color azul y g(x)=Cos(x) aparece en color magenta (m). Ahora, mantenemos la gráfica actual (la de la función sin(x)), y se añade, ahí mismo, la gráfica de la función cos(x); para ello, usamos las instrucciones siguientes: >> hold on; >> plot(x, z, 'm')


19 >> xlabel('valores de x') >> ylabel('Eje y') >> title('Gráfica de Sen(x) en Azul, y de Cos(x) en color Magenta') % el resultado de estas instrucciones se presenta enseguida Gráfica de Sen(x) en Azul, y de Cos(x) en color Magenta 1 0.8 0.6 0.4

Eje y

0.2 0 -0.2 -0.4 -0.6 -0.8 -1

0

1

2

3 4 Valores de x

5

6

7

Construcción de varias gráficas en una misma página: Si necesita dos ó más gráficas en diferentes ventanas de figuras, podemos usar la orden ó instrucción figure en la ventana de orden ó la selección de New Figure del menú File. La instrucción figure sin ningún argumento, crea una nueva ventana de figura. Para elegir una ventana de figura específica, para que sea la ventana por omisión (por default), seleccionala con el ratón ó usando la instrucción figura(n), en donde n es el número de la ventana de figura que se hace activa para las subsiguientes ordenes gráficas. Por otra parte, una ventana de figura puede mantener más de un conjunto de ejes. La orden subplot(m, n, p) subdivide la ventana de la figura actual en una matriz de mxn de las áreas de representación gráfica y selecciona como activa el área p-ésima. Las subgráficas se enumeran de isquierda a derecha a lo largo de la fila superior, luego la segunda fila, etc. A continuación, presento un ejemplo de cómo utilizar las instrucciones anteriores, para la creación de gráficas múltiples en una misma página.

Instrucciones de Matlab, para lograr la construcción de Gráficas múltiples, de funciones diferentes, todas ellas en una misma página. >> x = linspace(0, 2*pi, 30); >> y = sin(x); >> z = cos(x); >> a = 2*sin(x).*cos(x); >> b = sin(x)./cos(x); >> subplot(2,2,1) % selecciona la subgráfica superior izquierda >> plot(x,y,'b'), axis([0 2*pi -1 1]), title('Gráfica de Sen(x)') >> subplot(2,2,2) % selecciona la subgráfica superior derecha


20 >> plot(x,z,'m'), axis([0 2*pi -1 1]), title('Gráfica de Cos(x)') >> subplot(2,2,3) % selecciona la subgráfica inferior izquierda >> plot(x,a,'g'), axis([0 2*pi -1 1]), title('Gráfica de 2*Sen(x)*Cos(x)') >> subplot(2,2,4) % selecciona la subgráfica inferior derecha >> plot(x,b,'b'), axis([0 2*pi -20 20]) >> title('Gráfica: Tang(x)=Sen(x)/Cos(x)') Gráficas múltiples, de funciones diferentes, todas ellas en una misma página.

Gráfica de Sen(x)

Gráfica de Cos(x)

1

1

0.5

0.5

0

0

-0.5

-0.5

-1

-1 0

5

10

Gráfica de 2*Sen(x)*Cos(x) 1

0

10

0

0

-0.5

-10 0

5

10

10

Gráfica: Tang(x)=Sen(x)/Cos(x) 20

0.5

-1

5

-20

0

5

10

Nota.- Use la instrucción subplot(1, 1, 1) para retornar al modo por default y utilizar la ventana de figura para un único conjunto de ejes. Si imprime una ventana de figura que contiene multiples gráficos, todos ellos serán impresos en la misma página. Las opciones en la orden Plot permiten hacer gráficas de múltiples conjuntos de datos sobre los mismos ejes, usar diferentes tipos de líneas, tales como punteadas y a trazos, usar diferentes colores para las curvas, etc.

>> X=-4*pi : pi/50 : 4*pi; >> y = sin(X); >> z = cos(X);


21 >> plot(y, z)

% construye la gráfica de la función sin(x) frente al cos(x)

Gráfica de la Circunferencia Unitaria (de radio = 1)

Matlab proporciona una herramienta interactiva para expandir secciones de un gráfico 2-D, para verlas con más detalle ó para ampliar una región de interés. La instrucción zoom on activa el modo zoom; pulsar el botón izquierdo del ratón dentro de la ventana de la figura, expande la gráfica por un factor de 2, centrado alrededor del punto debajo del ratón. Cada vez que pulse la gráfica, ésta se expande. Zoom out devuelve la gráfica a su estado inicial. Zoom off desactiva el modo zoom.


22

Problemas sobre Trazado de Figuras: En las siguientes tareas de trazado de figuras, imprima leyendas en los ejes y leyendas para explicar el significado de cada curva si hay más de una. También deberá imprimir el título de la figura en cada gráfica que elabore. Utilice las instrucciones xlabel, ylabel, title, text, gtext. P1-) Gráfique las siguientes funciones en el dominio que se indica: Sen(x) para 0 £ x £ 4p

Y= 1 + Cos(x) 1

para 0 £ x £ 4

Y= 1 + (x - 2)2 Y = x2 Î-x

para 0 £ x £ 10

Y = Î-x Sen(x)

para 0 £ x £ 4p

P-2-) Una curva se expresa mediante las siguientes ecuaciones paramétricas: X = Sen(-t) + t

Y = 1 - Cos(-t)

Grafique la curva en el plano R2 para 0 £ t £ 4p

P-3-) Una curva se expresa mediante las siguientes ecuaciones paramétricas: X = 2*t + Cos(2*t) Y = t - Sen(2*t) Grafique la curva en el plano R2 para 0 £ t £ 4p


23

Otras características de los gráficos 2-D. Loglog

Lo mismo que plot, excepto que se usan escalas logarítmicas en ambos ejes.

Semilogx

Lo mismo que plot, excepto que usa escala logarítmica en el eje x, y escala Líneal en el eje vertical (eje Y).

Semilogy

Lo mismo que plot, excepto que usa escala logarítmica en el eje y, escala Líneal en el eje horizontal (eje X).

Se pueden crear gráficos en coordenadas polares utilizando la instrucción o comando polar(t, r, s), donde t es el vector de ángulos en radianes, r es el radio-vector y s es una cadena de caracteres opcional que describe color, ó un símbolo que se emplea para marcar y/o estilo de línea. Por ejemplo, veamos como se observa la gráfica de Sen(2t) Cos(2t) en coordenadas polares: >> t = 0: 0.01: 2*pi; >> r = sin(2*t).*cos(2*t); >> polar(t, r,'b') >> title('Gráfica en coordenadas polares de Sen(2t)*Cos(2t)') G rá fi c a e n c o o rd e n a d a s p o la re s d e S e n (2 t )* C o s (2 t ) 9 0 0.5 120

60

150

30

180

0

210

330

240

300 270

El siguiente ejemplo ilustra la identidad trigonométrica: Cos(2q) = Cos2(q) -Sin2(q). La gráfica de Cos(2q) = Cos2(q) - Sin2(q) se representa utilizando linea a trazos, en color verde, como se muestra a continuación:

>> clear, clf >> t = 0: 0.01: 2*pi; >> x = cos(t); y = sin(t); >> z = x.^2 - y.^2; hold on >> plot(t,x,'m'), plot(t,y,'b'), plot(t,z,'g--'); xlabel('variable independiente t'); ylabel('Eje y'); >>title('Gráficas: Sen(t) en Azul, Cos(t) en Magenta, y Cos(2t) en Verde' ) % a continuación, tenemos la gráfica que se obtiene mediante este programa.


24 Gr谩fic as: Sen(t) en Azul, Cos (t) en M agenta, y Cos (2t) en Verde 1 0.8 0.6 0.4

Eje y

0.2 0 -0.2 -0.4 -0.6 -0.8 -1

0

1

2

3 4 varible independiente t

5

6

7

A continuaci贸n se muestra la Intersecci贸n entre dos Curvas en el Plano. Gr谩fica de Fx = x*Cos(x) en color Azul , y Gx=4 - x. 2 en Verde 4

2

0

Eje Y

-2

-4

-6

-8

-10

-12 -4

-3

-2

-1

0 Valores de x

1

2

3

4


25

Práctica #4: Graficación de funciones de dos variables reales. El Objetivo de la práctica es lograr que el estudiante comprenda y domine diferentes instrucciones del Software Matlab para construir gráficas de diversas funciones continuas Z=f(x,y), (f: R2 à R) en tres dimensiones; además de la construcción de contornos, curvas de nivel y proyecciones sobre los planos cartesianos, practicando dichos comandos en diferentes fórmulas que se utilizan con frecuencia en los cursos de matemáticas I y II. Acontinuación, veremos la construcción de gráficos de diferentes funciones de la forma z = f(x,y); superficies en el espacio. Versión Tridimensional de una Gráfica: La Instrucción Plot3 es una versión tridimensional del comando Plot. Todas las reglas y comandos que ya vimos para Plot, se aplican también a Plot3. El siguiente Programa de Matlab, construye la gráfica tridimensional que representa el movimiento espiral de una partícula, desde un punto A hasta un punto B. % Programa Script program5.M clear, clf t = 0: 0.1: 20; r = exp( -0.2* t); th = pi* t *0.5; z = t; x = r. *cos(th); y = r. *sin(th); hold on plot3(x, y, z), grid plot3([1, 1], [-0.5, 0], [0, 0]) text(1, -0.7, 0, 'A') n = length(x); text( x(n), y(n), z(n)+2, 'B'); xlabel('Eje x'); ylabel('Eje y'); zlabel('Eje z') % al ejecutar este programa, se obtiene la siguiente gráfica en tres dimensiones

B

20

Eje z

15 10 5 0 1

A 0.5

1 0.5

0

0

-0.5 E je y

-0.5 -1

-1

Eje x

CONTORNO de FUNCIONES BIDIMENSIONALES. MALLA: Se puede definir una función bidimensional Z = Z(x, y) con puntos discretos, mediante Zi j = Z(xi, yj), donde xi, i = 1,2,3,...m, e yj, j = 1,2,3,...n son puntos en los ejes x e y, en orden ascendente. Las intersecciones constituyen una retícula cartesiana. Como ilustración, consideremos la retícula definida por:

xij = xi = -2 + 0.2*(i-1), para 1 £ i £ 21


26

yij = yj = -2 + 0.2*(j-1), para 1 £ j £ 21 y valores funcionales definidos por: Zij = xi * exp(- xi^2 - yj^2 )

Para generar la gráfica, tenemos el siguiente programa, en el cual, se utiliza la instrucción meshgrid para crear arreglos bidimensionales x e y, donde x es un arreglo de las coordenadas x de la retícula, e y es un arreglo de las coordenadas y; ambos sirven para calcular el arreglo bidimensional Z. % Programa Script program1.M clear, clf xa = -2: 0.2: 2; ya = -2: 0.2: 2; [x, y] = meshgrid(xa, ya); z = x.*exp(-x.^2 - y.^2); mesh(x, y, z) title('Esta es una Gráfica 3-D de Z = x*exp(-x^2 - y^2)') xlabel('Eje x') >> ylabel('Eje y') >> zlabel('Eje z') % Al ejecutar este programa, se obtiene la siguiente gráfica E s ta es una G ráfic a 3-D, de la func ión Z= x *ex p(-x ^2 -y ^2)

Eje z

0.5

0

-0.5 2 1

2 1

0

0

-1 E je y

-1 -2

-2

E je x

Nota.- Es muy importante darse cuenta de la correspondencia que existe entre los arreglos bidimensionales x, y, z e xij, yij, zij, respectivamente. El hecho es que x(j,i), y(j,i) e z(j,i) corresponden a xij, yij e zij, respectivamente. Dicho de otro modo, el primer índice (i) de x, y e z cambia en la dirección de y, en tanto que el segundo índice (j) cambia en la dirección de x. Respetar esta regla si se calculan los elementos de Z(j, i) con ciclos for/end. A continuación, se construyen las gráficas de diversas funciones z = f(x,y), superficies en el espacio, mediante el Software Matlab.


27

>> t =-2:0.1:2; >> xa = t; ya = t; [x, y] = meshgrid(xa, ya); >> z = x.*exp(-x.^2 – y.^2); >> mesh(x, y, z) % Gráfica de la superficie correspondiente a la función z=f(x,y)= x*exp(-x^2 – y^2) Gráfica de f(x,y )=x *ex p(-x^2 -Y ^2)

Eje z

0.5

0

-0.5 4 2

4 2

0

0

-2 E je y

-2 -4

-4

E je x

A continuación, veremos la construcción de un Parabolóide de Revolución, mediante el uso de instrucciones de Matlab. >> xa = -5: 0.1: 5;

ya = xa;

>> [x, y] = meshgrid(xa, ya); >> z = x.^2 + y.^2; >> mesh(x, y, z) >> xlabel('Eje x') >> ylabel('Eje y') >> zlabel('Eje z'); title(' Gráfica de: f(x,y)= x^2 + y^2')


28

% La figura corresponde a la de un Parabolóide de Revolución.

Grafica de f(x,y) = x^2 + y^2

20

Eje z

15 10 5 0 4 2

4 2

0

0

-2

-2 -4

Eje y

-4

Eje x

Como otro ejemplo adicional, veremos la construcción de la superficie que representa la figura de una silla de montar. % Construcción de la figura de una silla de montar >> xa = -5: 0.1: 5; >> ya = xa; >> [x, y] = meshgrid(xa, ya); >> z = x.^2 - y.^2; >>mesh(x, y, z) >>xlabel('Eje x'); ylabel('Eje y'); zlabel('Eje z') >> title(' Gráfica de: f(x,y)= x^2 - y^2 Silla de Montar') % Gráfica de la superficie correspondiente a la función z = f(x,y) = x^2 – y^2 Gráfica de f(x,y)= x^2 - y^2 Silla de Montar

10

Eje z

5 0 -5 -10 4 2

4 2

0

0

-2 Eje y

-2 -4

-4

Eje x


29 CONTORNOS (Curvas de Nivel): Podemos utilizar el comando o instrucción contour de Matlab, para graficar el contorno ó curvas de nivel de una función en un arreglo bidimensional; la sintaxis básica es: contour(x, y, z, nivel) Aquí, z es el arreglo bidimensional de la función; x e y son, respectivamente, las coordenadas x e y en arreglos bidimensionales, y nivel es un vector que contiene los niveles de contorno. Las coordenadas x e y también pueden ser arreglos unidimensionales, pero aquí también se aplica la regla antes mencionada respecto de los índices de z; es decir, el primer índice (i) de z cambia en la dirección de y, mientras que el segundo índice (j) de z cambia en la dirección de x. Si la retícula está equiespaciada, una forma más sencilla es contour(z); en este caso, el primero y el segundo índices cambian en las direcciones de y e x respectivamente. Además, puede sustituirse nivel por un entero m, que se interpretará como el número de niveles de contorno. Estos niveles se determinan dividiendo los valores mínimo y máximo de z en (m -1) intervalos.

El siguiente Programa Script genera una gráfica de contorno (curvas de nivel) para la función z = x*exp(-x2 - y2), del ejemplo inmediato anterior. Los valores de los contornos de la figura se rotularon con la instrucción clabel(h, 'manual'), que permite al usuario indicar la posición de los números con el ratón. Los niveles de contorno pueden rotularse automáticamente con clabel(h). % Programa Script para la construcción de Contornos (curvas de nivel). clear, clf axis('square') xm = -2: 0.2: 2; ym = -2: 0.2: 2; [x, y] = meshgrid(xm, ym); z = x.*exp(-x^2 - y^2); zmax = max(max(z)); zmin = min(min(z)); dz = (zmax - zmin) / 10; nivel = zmin + 0.5*dz: dz: zmax; h = contour(x, y, z, nivel); clabel(h, 'manual') title('Grafica de Contorno o Curvas de Nivel de Z = x*exp(-x^2 - y^2)') xlabel('Eje x'); ylabel('Eje y')

% al ejecutar este programa, se obtiene la figura que se presenta enseguida.


30 Grรกfica de Contorno o Curvas de Nivel de Z=x*exp(-x^2-y^2) 2 1.5 1

Eje y

0.5 0 -0.5 -1 -1.5 -2 -2

-1.5

-1

-0.5

0 Eje x

0.5

1

1.5

2


31 3

Problemas sobre Trazado de Figuras en R , para resolver con Matlab: En las siguientes tareas de trazado de figuras, imprima leyendas en los ejes y leyendas para explicar el significado de cada curva si hay más de una. También deberá imprimir el título de la figura en cada gráfica que elabore. Utilice las instrucciones xlabel, ylabel, title, text, gtext. P-1-) Construya la gráfica de las siguientes funciones de dos variables reales: a-) F(x,y) = y Sen(x y) Î-x

para 0 £ x £ 2p

y 0 £ y £ 2p

b-) F(x, y) = Î-x y Cos(x)

para

0 £ x £ 4p

y 0£ y £ 4

P-2-) Mediante el uso de la instrucción mesh, grafique la siguiente función: F(x, y) = 0.2 Cos(x) + y Î-x2 -y2

-3 £ x £ 3 para

-3 £ y £ 3

P-3-) Utilice la instrucción Contour para construir la gráfica de la función implícita f(X, Y) = 0, siguiente: F(X, Y) = Y2 + X ÎY - Tgh(X);

para 0 £ X £ 5.

P-4-) Dos parámetros de diseño están acotados por 0 < X < 5 y 0 < Y < 5. El costo del producto está dado por la siguiente expresión: F = X2 - 8X + Y2 - 6Y - 0.1 XY + 50, utilice la gráfica de malla para encontrar, aproximadamente, los parámetros óptimos que minimízan el costo, así como el costo máximo.


32

Práctica #5 Manipulación de Polinomios con Matlab: El Objetivo de la práctica es lograr que el estudiante comprenda, domine y aplique diferentes instrucciones del Software Matlab, que le permitan trabajar con polinomios, y realizar con ellos, operaciones tales como: determinar sus raices, multiplicar y dividir polinomios, evaluar polinomios en un punto dado; asi como también, construir su representación gráfica como finciones f: Rà R2 en el plano. Determinar las raices de un polinomio (valores para los que el polinomio es cero), es un problema común a muchas disciplinas. Matlab resuelve este problema y proporciona también otras herramientas para la manipulación de polinomios. En Matlab, un polinomio se representa por un vector fila con los coeficientes de la variable X en orden descendente. Por ejemplo, el polinomio: X4 - 12 X3 + 0 X2 + 25 X + 116 = 0 se introduce como: >> P = [ 1 -12 0 25 116 ] P= 1 -12 0 25 116

Enter

Obsérvese que se deben incluir los términos con coeficientes nulos. Matlab no tiene forma de saber que términos son cero a menos que los identifique específicamente. De esta forma, las raices de un polinomio se determinan utilizando la función roots: >> r = roots(P) r= 11.7473 2.7028 - 1.2251 + 1.4672 i - 1.2251 - 1.4672 i Como ambos, el polinomio y las raices, son vectores, Matlab adopta el convenio de que los polinomios son vectores fila y las raices son vectores columna. Dadas las raices de un polinomio, es también posible construir los polinomios asociados. En Matlab la orden Poly realiza esta tarea: >>PP = Poly(r) % se genera lo siguiente: PP = 1.0 e +02 Columns 1 trough 4 0.0100 - 0.1200 - 0.0000 0.2500 Column 5 1.1600 + 0.0000 i >>PR = real(PP) PR = 1.0000 -12.0000

-0.0000

25.0000

116.0000

Como Matlab trata de manera consistente con cantidades complejas, es común para los resultados de Poly tener alguna pequeña parte imaginaria debido a errores de redondeo al recomponer un polinomio a partir de sus raices, si alguna de ellas tenia partes imaginarias. Eliminar la parte imaginaria espúrea, es simplemente una cuestión de utilizar la funcióbn real, tal como se mostro anteriormente.


33 Multiplicación: La multiplicación polinomial se realiza mediante la función conv (que efectúa la convolución de los arreglos). Considérese el producto de los dos polinomios siguientes: P(x) = x3 + 2 x2 + 3x + 4 >> p= [ 1 2 3 4 ];

y

q(x) = x3 + 4x2 + 9x + 16

q = [ 1 4 9 16 ];

>> pq = conv(p, q) pq = 1 6 20 50 75 84 64 este resultado es el polinomio pq(x) = x6 + 6 x5 + 20 x4 + 50 x3 + 75 x2 + 84 x + 64, la multiplicación de más de dos polinomios requiere el uso repetido de la instrucción conv. División: En algunos casos especiales es necesario dividir un polinomio por otro. En Matlab, esto se consigue mediante la función deconv. Utilizando los polinomios P(x) y q(x) anteriores, tenemos: >>[pr, qr] = deconv(pq, q) pr = 1 2 3 4 pr = 0 0 0 0 0 0 0 Nota.- Este resultado indica que pq dividido entre el polinomio q, da como resultado el polinomio pr y el resto qr, que es cero en este caso puesto que el producto de p y q es exactamente pq.

Aquí, es conveniente recordar el "teorema del residuo y del factor" para polinomios, más comúnmente conocido como "Algorítmo de la División Sintética". Todo polinomio con coeficientes reales se puede expresar, de manera general, como: 2

n

Pn(X) = an + an-1 X + an-2 X + . . . + a0 X

. . .ec(1)

Del álgebra superior, tenemos el "teorema del residuo y del factor", que enuncia lo siguiente: polinomio Pn(X) de grado n, existirá un factor (X - X0) y un residuo "r" (numero real), tales que,

Para todo

Pn(X) = (X - X0) Q(X) + r ...ec(2) , en donde Q(x) representa un polinomio de grado (n-1). Esto es, el algorítmo de la división de Euclides, aplicado a polinomios. Luego, considerando que, 2 n-1 Q(x) = bn-1 + bn-2 X + bn-3 X + ... + b0 X , tenemos que, al sustituir en la ec(2), se obtiene : 2 n-1 n n n-1 n-2 an + an-1 X + an-2 X + . . . + a1 X + a0 X = b0 X + (b1 - x0 b0 ) X + ( b2 - x0 b1 ) X + . . . + (bn-1 - x0 bn-2 ) X + (r - bn-1 ) X0 ----ec(3). Para que se cumpla la igualdad de la ec(3), en necesario que, a0 = b0 b0 = a0 a1 = b1 - X0 b0 b1 = a1 + X0 b0 a2 = b2 - X0 b1 b2 = a2 + X0 b1 : : an-1 = bn-1 - X0 bn-2 bn-1 = an-1 + X0 bn-2 an = r - X0 bn-1 r = an + X0 bn-1

(*)


34 Estas ecuaciones (*), también se pueden representar de la siguiente manera: Representación de la División Sintética (Teorema del Residuo y del Factor)

X0

a0

a1

a2

...

an-1

an

coeficientes de P(x)

+ + + + X0 b0 X0 b1 . . . X0 bn-2 X0 bn-1 ________________________________________________ b0=a0 b1 b2 . . . bn-1 r coeficientes de Q(x) Podemos facilmente observar, que sí r = 0, entonces el valor de X0 representa una raíz; ó sea, una solución que satisface al polinomio Pn(X). Haciendo X = X0 en la ec(2), tenemos que Derivando la ec(2), tenemos :

Pn(x0 ) = r ...ec(4)

Pn'(X) = (X - X0) Q'(X) + Q(X), y haciendo de nuevo, X = X0 , se obtiene : P'(X0) = Q(X0)

…ec(5)

Aplicando el mismo principio, podemos expresar el polinomio Q(X) como: Q(x) = ( X - X0 ) T(X) + R, donde R es un un número real. Haciendo X = X0 en ésta última expresión , tenemos que, Q(X0) = R

…ec(6)

Combinando las ecuaciones (5) y (6), tenemos que, Pn'(X0) = R ---ec(7) Por otro lado, de la formula de Newton-Rapson de 1° orden, sabemos que : P(X) Xn+1 = Xn -

; P'(X)

r Xn+1 = Xn - ( ----- ) R

sustituyendo aquí, las ecuaciones (4) y (7), tenemos

Fórmula de Newton-Rapson aplicada a la División Sintética.


35 Ejemplo #1: Determine la raiz real del siguiente polinomio de tercer grado, utilizando la f贸rmula anterior. 3

2

F(x) = x - 7 x + 6 x - 8 = 0 1

-7

6

-8

4

4 -12 -24 ______________________________________ 1 -3 -6 - 32 = r 1

-7

6

-8

8

8 8 112 _____________________________________ 1 1 14 104 = R

Como podemos ver, se verifica un cambio de signo en el valor de la funci贸n, en el intervalo [4, 8]. Esto es, existe una raiz real en dicho intervalo. Para dar inicio al proceso iterativo, tomaremos X0 = 6 . X3 X2 X Ti 1

-7 6 -8 6 -6 0 _________________________________ 1 -1 0 -8=r 6 30 _________________________ 1 5 30 = R

6

Primera aproximacion : X = 6 - ( -8 / 30 ) = 6.2666666 1

-7

6

-8

| 6.2666666

6.2666666 -4.59555592 8.80118278 ________________________________________________ 1 -0.733333334 1.40444407 0.80118278 = r 6.2666666 34.67555473 _______________________________________ 1 5.53333326 36.07999881 = R Segunda aproximacion: X = 6.2666666 - ( 0.80118278 / 36.07999881) X = 6.244460868


36 1

-7

6

-8

6.244460868

6.244460868 -4.71793454 8.00580757 ____________________________________________________ 1 -0.755539132 1.282065456 0.00580757 = r 6.244460868 34.27535699 ______________________________________ 1 5.488921736 35.55742245 = R Tercera aproximación: X = 6.244460868 - ( 0.00580757 / 35.55742245 ) X = 6.244297539 Prueba por division sintetica: 1

-7

6

-8

6.244297539 = X1

6.244297539 -4.718831017 8.000000328 una raiz irracional ______________________________________________________ 1

-0.755702461

1.281168983

0.000000328 ~ 0 aproximado a cero

Como el residuo que se obtiene de la división sintética está múy próximo a cero, tenemos que

X1 = 6.244297539 es una raiz real del polinomio, con un grado de exactitud dado por Eps = 0.0000003 = 3 x 10-7 .

Nota.-) Las otras dos raices se obtendrán de la siguiente ecuación : 2

X - 0.755702461 X + 1.281168983 = 0,

de donde se tienen:

X2 = 0.37785123 + 2.27679486 i X3 = 0.37785123 - 2.27679486 i

{ raices complejas }


37 3

2

Ejemplo#2: Para el Polinomio P(X) = 3X - 5X - 4X + 3, establezca: a)¿Cuántas raices reales positivas tiene este polinomio? Resp: Se observan 2 cambios de signo en P(X), por lo tanto habrá 2 raices reales positivas o ninguna en caso de existir raices complejas. b)¿Cuántas raices reales negativas tiene este polinomio? Resp: Se observa un solo cambio de signo en P(-X) = - 3X3 - 5X2 - 4X + 3 por lo tanto, habrá una raiz real negativa. Posibles raices reales racionales ± (3/3, 3, 1/3, 1) c-) Determinar las raices del polinomio, mediante el uso de la división sintética: X3

X2

X

Ti

3

-5 -3 -8

-4 8 4

3 -8 -5

3

½-1

En este caso falla la división sintética para todas las posibles raices reales racionales, lo cual indica el polinomio P(X) tendrá una raiz irracional y una pareja conjugada compleja (dado que el polinomio es de tercer grado) o bien 3 raices reales irracionales. X3 3 3 3 3

X2 -5 3 -2

X -4 -2 -6

Ti 3 -6 ½-3½

-5 9 4

-4 12 8

3 24 ½+27½

½1

½3

Como el polinomio P(X) = 3X3 - 5X2 - 4X + 3 cambia de signo en el intervalo (1, 3), ésto indica que ahí se encuentra una raiz real (irracional en este caso). Aquí, utilizaré de nuevo, la formula recursiva Xn+1 = Xn - (R1/R2) para determinar dicha raiz real irracional; R1 y R2 son residuos de una doble división sintética, como veremos a continuación: Iniciaremos con X0 =2. X3 3 3 3

X2 -5 3 1 6 7

X C -4 3 ½2 -2 -6 -2 ½-1 = R1½ 14 ½12 = R2 ½

1ª aproximación a la raiz à X0 =2 - (-1 / 12 ) = 2.08333333


38 3

X 3 3

3

2

X -5 6.25 1.25

X C -4 3 2.6041666 -2.907986 -1.3958333 ½0.0920 = R1½

½2.0833333

6.249999 15.6249997 7.49999 ½14.2291664 = R2½

2ª aproximación a la raiz à X0 =2.0833333 - (0.0920/14.229166) = 2.0768677 X3 3 3

X2 -5 6.2306031 1.2306031

3

6.2306031 15.495938 7.4612062 ½14.051738 = R2½

X C -4 3 2.5557998 -2.999137 -1.4442001 ½0.00086 = R1½

½2.0768677

3ª aproximación a la raiz à X0 =2.0768677 - (0.00086/14.05173) = 2.076806498 X3 3 3 3

X2 X C -5 -4 3 6.23041949 2.55534319 -3.0002 1.23041949 -1.4446568 ½-0.00027 = R1½ 6.2304194 15.4947188 7.4612062 ½14.05006208 = R2½

½2.076806498

4ª aproximación a la raiz à X0 =2.076806498 - (-0.00027 /14.050062) = 2.0768257 X3 3 3

X2 X -5 -4 6.2304771 2.5554864 1.2304771 -1.4445135

C 3 ½2.0768257 = X0 -3.000002 una Raiz Real Irracional -0.0000027 = aproximadamente cero (0)

queda à 3X2 + 1.230477X - 1.4445135 = 0, cuyas raices son: X = -1.230477 ± Ö (1.23047)2 - 4(3) (-1.4445135) 2(3) X = -1.230477 ± Ö 18.848218 = -1.230477 ± 4.341453 6 6 X1 = 0.518496 ;

X2 = -0.928655

Así, las 3 raices del polinomio P(X) = 3X3 - 5X2 - 4X + 3 son: X0 = 2.0768257 ;

X1 = 0.518496 ;

X2 = -0.928655

Las tres son raices reales (irracionales), dos positivas y una negativa.


39 3

2

La función P(X) = 3X - 5X - 4X + 3 tiene puntos críticos en: 9X2 - 10X - 4 = P'(X) = 0 à (X - 5/9)2 = (1/9) (Y + 61/9), parábola simétrica al eje vertical (eje Y), con vértice en V(0.55, - 6.77), cuyas hojas abren hacia arriba dado que 4p = 1/9 à p = 1/36 > 0 las Raices de P'(X) {puntos críticos de P(X)} son: X = (5 + Ö61)/9 y X = (5 - Ö61)/9 Raices de P'(X): (X = 1.4236)

y

(X = -0.312)

De acuerdo con el criterio de la segunda derivada, tenemos qué: Como P''(X) = 18X - 10; y dado qué P''(1.4233) = 15.62 > 0, la función tiene un mínimo Ymin = P(1.4233) = 3(1.4233)3 - 5(1.4233)2 - 4(1.4233) + 3 = - 4.172, en X = 1.4233 Luego, dado que P"(- 0.312) = -15.6 < 0, la función polinomio P(X) tiene un máximo Ymáx = P(- 0.312) = 3*(- 0.312)3 - 5*(- 0.312)2 - 4*(- 0.312) + 3 à Ymáx = 3.67, en X=- .312 d-) Construya la gráfica del polinomio P(X) = 3X3 - 5X2 - 4X + 3 Y P'(X)= 9X2 - 10X - 4 P(X)= 3X3 - 5X2 - 4X + 3 Raices de P(X): 3.67 -0.928 0.518 y 2.076

P1(0,3) P2 -0.928

-0.312

P3 0.518

1.423

2.076

X

-4.172

-6.77

Gráfica de P(X)= 3X3 - 5X2 - 4X + 3

V(0.55, -6.77)

y de su derivada P'(X) = 9X2 - 10X - 4

Evaluación de Polinomios: Los polinomios pueden evaluarse con el comando polyval. Por ejemplo, para el polinomio Y = F(X) = 3 X4 - 7 X3 + 2 X2 + X + 1 Los siguientes comandos calculan el valor de Y(2.5) = F(2.5) >> F = [ 3 -7 2 1 1 ]; >> Xi = 2.5; >>Yi = polyval(F, xi)


40 Nota.- Si Xi es un vector que contiene múltiples valores de la abscisa, entonces Yi se convierte en un vector de las respuestas, con la misma longitud que Xi. Ajuste de Polinomios: Un polinomio de orden n (n ³ 2) está determinado de forma única si se dan (n + 1) puntos. En otras palabras, el polinomio de orden n ajustado a (n + 1) puntos de datos (Xi, Yi), i = 1, 2, 3, . . .,(n+1), es único. Los coeficientes del polinomio se pueden determinar fácilmente mediante la instrucción polyfit. Por ejemplo, suponga que un conjunto de datos está dado por: >> X = [ 1.1, 2.3, 3.9, 5.1 ]; >> Y = [ 3.887, 4.276, 4.651, 2.117 ];

% entonces

>> P = polyfit(X, Y, length(X) - 1 )

% produce lo siguiente

P= -0.2015

1.4385

-2.7477

5.4370

Esto es, el vector de los coeficientes del polinomio. El tercer argumento de polyfit es importante, y se le asigna el valor length(X) - 1, porque el orden del polinomio es igual al número de puntos de datos menos uno. El polinomio, determinado aquí, es: Y = -0.2015 X3 + 1.4385 X2 - 2.7477 X + 5.4370


41

Fórmula Polinomial de Interpolación de Lagrange. Suponga que tenemos (n + 1) puntos como datos (X0 , Y0 ), (X1 , Y1 ), . . . (Xn, Yn) y encontrar los coeficientes C0 , C1 , C2 . . . Cn del polinomio: Pn ( X ) = C0 + C1 X + C2 X 2 + . . . + Cn X n . . . ec(1)

deseamos

De tal manera, que la curva representada por esta ecuación, pase a través de dichos (n + 1) puntos y Pn ( XK ) = YK ( K = 0 , 1 , 2 , . . . n ). Ahora, definiremos el Polinomio de Lagrange LK (X) de grado n, como: Lk ( X i ) = 0 ; si i < > k LK ( X i ) = 1 ; si i = k En donde Xi (i = 0 , 1 , 2 , . . . n) estará dado por los (n + 1) distintos puntos. Podemos representar cualquier polinomio Pn(X) de grado n - ésimo en función de polinomios de lagrange , mediante la expresión siguiente: Pn(X) = L0 (X) Y0 + L1(X) Y1 + . . . + Ln (X) Yn ó bien,

Pn(X) =

å {LK (X)

YK }

. . . ec(2)

; k = 0 ,1 , 2 , . . . n .

por lo tanto, tomando en cuenta los puntos por donde pase el polinomio , tenemos que : LK ( X ) = a (X - X0 ) (X - X1 ) (X - X2 ) . . . (X - XK-1 ) (X - XK+1) . . . (X - Xn ) donde el factor ( X - XK ) no está presente . Para determinar el valor de " a ", tendremos en cuenta que LK ( XK ) = 1 . Asi, tenemos que 1 a = ----------------------------------------------------------------------------------( XK - X0 ) ( XK - X1 ) . . . ( XK - XK-1 ) ( XK - XK+1 ) . . . ( XK - Xn ) Sustituyendo este valor de " a " en la ecuación, obtendremos la fórmula general para determinar los polinomios de " lagrange ": (X - X0 )(X - X1 ) . . . (X - Xk-1 ) (X - Xk+1 ) . . . ( X - Xn ) LK (X) = ------------------------------------------------------------------------(XK - X0 ) (X - X1 ) . . . (XK - Xn )

. . . ec(3)

Como un procedimiento práctico de simplificación de notación, podemos escribir: n L(X) =

å gk (X)

Yk ,

en donde

gk(X) = Lk(X)

k=1 (X - X0 ) (X - X1 ) . . . (X - Xn ) ec(4) à gK ( X ) = ------------------------------------------ ;

Õ (XK - XJ )

para toda K < > J k=0,1,2,... n


42 Ejemplo #1-) Determine los Polinomios de Lagrange correspondientes a los siguientes puntos: k

0

1

2

3

XK

2

3

6

7

Las expresiones de gk(X), para este ejemplo, son:

g0 ( X ) = ( X - X1 ) ( X - X2 ) ( X - X3 ) g1 ( X ) = ( X - X0 ) ( X - X2 ) ( X - X3 ) g2 ( X ) = ( X - X0 ) ( X - X1 ) ( X - X3 ) g3 ( X ) = ( X - X0 ) ( X - X1 ) ( X - X2 )

=(X-3)(X-6)(X-7) =(X-2)(X-6)(X-7) =(X-2)(X-3)(X-7) =(X-2)(X-3)(X-6)

Por lo tanto, los Polinomios de Lagrange, son los siguientes: 3

g0 ( X )

2

X - 16 X + 81 X - 126 L0 ( X ) = ---------------- = ----------------------------------------g0 ( X0 ) - 20 3

g1 ( X )

2

X -- 15 X + 68 X - 84 L1 ( X ) = ------------------ = --------------------------------------------g1 ( X1 ) 12 3

2

g2(X) X - 12 X + 41 X - 42 L2( X ) = --------------- = -------------------------------------g2 ( X2 ) - 12 3

2

g3 ( X ) X - 11 X + 36 X - 36 L3 ( X ) = ------------------- = --------------------------------------------g3 ( X3 ) 20


43 Ejemplo #2-) A continuación tenemos la densidad del Sodio a tres temperaturas: K Temperatura(Tk) Densidad(rk) 1 94 ºC 929 Kg/mt3 2 205 ºC 902 “ 3 371 ºC 860 “ a-) Determinar la fórmula de interpolación de Lagrange que se ajusta a los tres puntos de datos dados. b-) Obtenga la densidad para T = 251 ºC mediante la interpolación de Lagrange. Solución: a-) Puesto que el número de puntos de datos es n = 3, el orden de la fórmula de interpolación es 2. La interpolación de lagrange se convierte en: ( T – 205) ( T – 371)

L( T ) =

( T – 94) ( T – 371) ( 929 ) +

( 94 – 205)( 94 – 371)

( 902 ) ( 205 - 94) (205 – 371)

( T – 94) ( T – 205) (860) ( 371 – 94)( 371 – 205) b-) Si hacemos T = 251 en la ecuación anterior, obtenemos: L(251) = 890.5 kg/m3. +

En Matlab, la función Lagran_(x, y, xi ) realiza la interpolación de Lagrange. Por ejemplo, tenemos el siguiente guión: Clear X = [1.1, 2.3, 3.9, 5.1]; Y = [3.887, 4.276, 4.651, 2.117]; Xi = [2.101, 4.234]; Yi = Lagran_(X, Y, Xi) % los resultados son:

Yi = 4.1457

4.3007

Las expresiones algebráicas, como los polinomios, pueden ser presentadas de muchas formas equivalentes. En situaciones diferentes algunas formas pueden ser preferibles a otras. Matlab dispone de un buen número de comandos para simplificar o cambiar la forma de expresiones algebráicas. A continuación, presento algunos ejemplos: >> f = sym(‘(x^2 – 1)*(x – 2)*(x – 3)’) % se crea una expresión algebráica. f= (x^2 – 1)*(x – 2)*(x – 3) >> collect(f) % reune todos los términos iguales. ans = x^4 – 5*x^3 + 5*x^2 + 5*x – 6 >> horner(ans) % cambia a la representación anidada de horner. ans = - 6 + (5 + ( 5 + ( -5 + x )*x)*x)*x >> factor(ans) % factoriza la expresión. ans = (x – 1)*(x – 2)*(x –3)*(x + 1)


44 >> expand(ans) % expande los productos en sumas. ans = x^4 – 5*x^3 + 5*x^2 + 5*x – 6 La instrucción simplify de Matlab, es una herramienta potente, de propósito general, que intenta simplificar una expresión mediante la aplicación de muchas clases diferentes de identidades algebraicas, involucrando sumas, integrales y potencias fraccionales, trigonometría, fórmulas exponenciales, funciones logarítmicas, funciones de Bessel, funciones hipergeométricas y funciones gamma. Unos pocos ejemplos ilustrarán la potencia de esta función: >> simplify(‘log(2*x/y)’) ans = log(2) + log(x) – log(y) >> simplify(‘sin(x)^2 + 3*x + cos(x)^2 – 5’) ans = 3*x - 4 >> simplify(‘(- a^2 + 1) / ( 1 – a )’) ans = a+ 1 Esta función (simplify), es una de las más potentes, pero la menos ortodoxa de todas las herramientas de simplificación. La instrucción simple prueba varias herramientas diferentes de simplificación y selecciona la forma que tiene el menor número de caracteres en la expresión resultante. Como un ejemplo, tenemos la siguiente raiz cúbica: f=

3

(1 / x3) + (6/ x2) + (12 / x) + 8

>> f = ‘( 1/x^3 + 6/x^2 + 12/x + 8 )^(1/3)’

% se genera la expresión

>>simple(f) % simplifica la expresión simplify: ( 2*x + 1 )/x ans = ( 2*x + 1 )/x >>simple(ans) % intenta de nuevo la simplificación combine (trig): 2 + 1/x ans = 2 + 1/x Como se puede observar, la instrucción simple prueba un número de simplificaciones que pueden ayudar a reducir la expresión y permite ver el resultado de cada prueba. Puede haber muchas formas equivalentes de una expresión simbólica, en situaciones distintas, algunas son más útiles que otras. Matlab proporciona muchas herramientas para cambiar la forma de dichas expresiones. Entre estas herramientas se encuentran las que aparecen en la siguiente tabla.


45 Tabla #1: Algunas Herramientas muy usuales de Matlab. Herramienta (Instrucción comando de Matlab) Collect Horner Factor Expand Simplify Simple Pretty

ó

Descripción Agrupa términos iguales. Cambia a la representación anidada de horner. Intenta factorizar la expresión. Expande todos los términos. Simplifica la expresión usando identidades. Intenta obtener la expresión equivalente, con la cadena de caracteres más corta. Mejora la presentación de una expresión simbólica.

Nota.- Con frecuencia es útil aplicar la instrucción simple más de una vez, dado que el resultado de la primera prueba puede ser candidato para nuevas simplificaciones.


46 Problemas sobre Polinomios (para resolver con Matlab): P-1-) a-) Determine el polinomio que se ajusta a los siguientes puntos de datos: i_ Xi__ f(Xi)_ 1 0.00 0.9162 2 0.25 0.8109 3 0.50 0.6931 4 0.75 0.5596 5 1.00 0.4055 b-) Escriba el polinomio en forma agrupada (forma de Horner). c-) Escriba el polinomio en forma factorizada. P-2-) Determine el polinomio en forma de serie de potencias que pasa por cada uno de los siguientes conjuntos de datos: a-) (-1, 1) (1, 4) b-) (-2, 2) (0, -1) (2, 1) c-) (-1, -1) (0, 0) (1, 2) (2, 5) Verifique los resultados usando la instrucción polyfit de Matlab. P-3-) a-) Escriba la fórmula de interpolación de Lagrange, ajustada a los siguientes puntos: X Y

0.5 1.0 1.5 Y1 Y2 Y3

2.0 Y4., en donde Yi (i = 1,2,3,4) representa valores desconocidos.

b-) Deduzca la primera derivada del polinomio. P-4-) Aproxime la función Y = (1 + X) / (1 + 2X + 3 X2) en 0 £ X £ 5 mediante la interpolación de Lagrange de cuarto orden y evalúe el error según e(X) = Y - g(X). Pruebe siguiendo los siguientes pasos: a-) b-) c-) d-)

Determine los puntos. Escriba la interpolación de Lagrange. Calcule el error para cada incremento de 0.2 en X. Grafique la distribución del error.

P-5-) Si una interpolación de Lagrange se ajusta a cuatro puntos de datos en Xi =1, 2, 3 y 4, aparecen los siguientes polinomios cúbicos en la fórmula de interpolación de Lagrange: (X - 2) (X - 3) (X - 4) L1(X) =

(X - 1) (X - 3) (X - 4) L2(X) =

(1 - 2) (1 - 3) (1 - 4)

(2 - 1) (2 - 3) (2 - 4)

(X - 1) (X - 2) (X - 4)

(X - 1) (X - 2) (X - 4)

L3(X) =

L4(X) = (3 - 1) (3 - 2) (3 - 4)

(4 - 1) (4 - 2) (4 - 3)

Grafique las cuatro funciones anteriores, y comente implicaciones de la forma de cada una de ellas.


47

Práctica #6: Derivadas de funciones de variable real. El Objetivo de la práctica es lograr que el estudiante comprenda, domine y aplique diferentes instrucciones del Software Matlab para determinar expresiones simbólicas, correspondientes a la derivada de una función; También, determinar valores numéricos de la primera derivada de diversas funciones continuas y = f(x) (funciones f:R àR2 en el plano), practicando dichos comandos en diferentes fórmulas que se utilizan con frecuencia en los cursos de matemáticas I y II del nivel superior. La Diferenciación e Integración son operaciones básicas en el estudio y aplicación del cálculo; además de ser extensamente usadas en muchas disciplinas de ingeniería. Las herramientas simbólicas de Matlab pueden ayudar a resolver muchas de estas clases de problemas.

Diferenciación: La diferenciación de una expresión simbólica usa la función diff en alguna de estas formas: >> f = 'a * XÙ 3 + XÙ 2 - b * X - c' f = a X3 + X2 - bX - c

% definición de expresión simbólica

>> diff(f) % derivada de la función f con respecto a la variable por default (X). ans = 3 * a * X Ù 2 + 2 * X - b

>> diff (f, 'a') % derivada de la función f con respecto a la variable a. ans = X Ù 3

>> diff (f, 2)

% determina la segunda derivada de f con respecto X. ans = 6 * a * X + 2

>> diff (f, 'a', 2) % determina de segunda derivada de f con respecto a a. ans = 0 La función diff también opera sobre arreglos (Arrays). Si G es un vector ó matriz simbólica, diff (G) determina la derivada de cada elemento del arreglo(Array). Por ejemplo, tenemos la creación del arreglo simbólico siguiente: >> G = sym ('[a * X, b * X Ù 2; c * X Ù 3, 2 * X]') G = [a * X, b * X Ù 2] [c * X Ù 3, 2 * x] >> diff(G) % determina la derivada de los elementos de G con respecto X. ans = [a, 2*b*X] [3 * c * XÙ 2, 2] Es importante señalar, que la función diff también es usada en Matlab para calcular las diferencias númericas de un vector ó matriz numérica. Para un vector ó matriz numérica M, diff (M) determina las diferencias numéricas M(2: m, :) - M(1: m-1, :), como se muestra a continuación: >> M = [(1:8).Ù 2] % creación de un vector. M = 1 4 9 16 25 36 49 64 >> diff(M) % Encuentra las diferencias entre los elementos de M. ans = 3 5 7 9 11 13 15 Nota: Si el argumento de la expresión ó variable de diff es numérico, Matlab es suficientemente inteligente para calcular la diferencia numérica; si el argumento es una cadena simbólica ó variable simbólica, Matlab deriva la expresión.


48

Diferenciación de la fórmula de interpolación de Lagrange. Asi como podemos aproximar una función mediante un polinomio de interpolación, también podemos aproximar la derivada y la integral de una función, con la derivada y la integral del polinomio de interpolación de lagrange, respectivamente. A continuación, veremos la forma de evaluar la derivada de un polinomio de interpolación; en particular, la de la fórmula de interpolación de Lagrange.

Nota: La fórmula de interpolación de Lagrange es una alternativa a la forma de series de potencias de los polinomios de interpolación, y tiene dos ventajas importantes: (1) con la fórmula de interpolación de Lagrange no hay necesidad de resolver ecuaciones lineales, y (2) las fórmulas de interpolación de Lagrange permiten la interpolación incluso cuando los valores funcionales se expresan con símbolos porque no se conocen los valores numéricos. Gracias a la primera ventaja, la eficiencia computacional de la interpolación de Lagrange es mayor que la de la forma de serie de potencias, sobre todo cuando el número de puntos de datos es grande; además, es menos susceptible a los efectos de los errores de redondeo.

Ejemplo #1-) A continuación tenemos la densidad del Sodio a tres temperaturas: K 1 2 3

Temperatura(Tk) 94 ºC 205 ºC 371 ºC

Densidad(rk) 929 Kg/mt3 902 “ 860 “

a-) Determine la fórmula de interpolación de Lagrange que se ajusta a los tres puntos de datos dados. b-) Obtenga la densidad para T = 251 ºC mediante la interpolación de Lagrange. Solución: a-) Puesto que el número de puntos de datos es n = 3, el orden de la fórmula de interpolación es 2. Aplicando la interpolación de lagrange, se obtiene: ( T – 205) ( T – 371)

L( T ) =

( T – 94) ( T – 371) ( 929 ) +

( 94 – 205)( 94 – 371) +

( T – 94) ( T – 205) ( 371 – 94)( 371 – 205)

( 902) ( 205 - 94) (205 – 371)

(860)

b-) Si hacemos T = 251 en la ecuación anterior, obtenemos: L(251) = 890.5 kg/m3. En Matlab, la función Lagran_(x, y, xi ) realiza la interpolación de Lagrange. Por ejemplo, tenemos el siguiente Programa: >> Clear >> X = [1.1, 2.3, 3.9, 5.1]; >> Y = [3.887, 4.276, 4.651, 2.117]; >> Xi = [2.101, 4.234]; >> Yi = Lagran_(X, Y, Xi) % los resultados que se obtienen, son: Yi =

4.1457

4.3007


49 Teoría referente a la "Diferenciación de la fórmula de interpolación de Lagrange". Así como podemos aproximar una función mediante un polinomio de interpolación, también podemos aproximar la derivada de una función, con la derivada del polinomio de interpolación. A continuación, veremos la forma de evaluar la derivada de un polinomio de interpolación, en particular la de la fórmula de interpolación de Lagrange. Considerando la fórmula de interpolación de Lagrange, como n

L(X) = å gk (X) Yk ,

n

su derivada es

k=0

L’(X) = å g’k(X) Yk , en donde la función k=0

de la forma gk(X) está dada por la ec(4) anterior, en forma factorizada. Para poder evaluar g’k(X), primero la expresamos en forma de serie de potencias. Tenga presente que g0 (X) en la ec(4) es un polinomio de orden “n” ajustado a los puntos de datos X = [X0, X1, X2, . . . Xn], Y = [1, 0, 0, . . . 0]. De forma similar, g1 (X) es para X = [X0, X1, X2, . . . Xn], Y = [0, 1, 0, . . . 0]. En términos más generales, gk (X) es para X = [ Xj ], Y = [ Yj ], con Yj = 0 excepto Yk = 1. Por lo tanto, el polinomio gk (X) puede expresarse en forma de serie de potencias ajustando un polinomio de grado “n” a los datos. La forma de serie de potencias de gk (X) para toda k, se puede calcular mediante la instrucción Shape_pw, cuya sintaxis es P = shape_pw(x); en donde (x) es un vector de puntos de abscisas y P es una matriz en la que la k-ésima fila representa los coeficientes de las potencias para gk (X) .

Ejemplo #2-) Un conjunto de 4-puntos de datos está dado por X = [ 1.1, 2.3, 3.9, 5.1 ]; Y = [ 3.887, 4.276, 4.651, 2.117 ]; a-) Encuentre los coeficientes del polinomio de interpolación de Lagrange, para algún Xk. b-) Determine la primera derivada del polinomio de interpolación de Lagrange. Para el insciso (a), utilizaremos la instrucción Shape_pw, como se ilustra en el siguiente programa. % Programa para determinar los coeficientes del polinomio de interpolación de Lagrange Clear X = [ 1.1, 2.3, 3.9, 5.1 ]; Y = [ 3.887, 4.276, 4.651, 2.117 ]; Xk = [2.101, 4.234]; np= length(X); p = Shape_pw(X); for knp = 1: 2 for k = 1: np temp = polyval(p(k, : ), Xk(knp)) g(k) = temp end Yk(knp) = g*Y’; end Yk % la respuesta que se obtiene, es


50 Yk = 4.1457 4.3007 Nota.- Como podemos ver, la solución coincide con la del ejemplo anterior. b-) Para calcular la primera derivada del polinomio de interpolación de Lagrange, cada fila de P se convierte en el vector de coeficientes de la primera derivada mediante la instrucción Polyder. El siguiente programa de Matlab, calcula la primera derivada en los puntos de abscisas del conjunto de datos del ejemplo #2. % Programa para determinar la primera derivada del polinomio de interpolación de Lagrange Clear X = [ 1.1, 2.3, 3.9, 5.1 ]; Y = [ 3.887, 4.276, 4.651, 2.117 ]; Xk = [2.101, 4.234]; np= length(X) p = Shape_pw(X); for k = 1: np pd(k, :) = polyder(p(k, : )); end for knp = 1: length(Xk) for k = 1: np gd(k) = polyval(pd(k, : ), Xk(knp)); end Yk(knp) = gd*Y’; end Yk % La respuesta es: Yk = 0.6292 -1.4004 Nota Adicional sobre Derivación con Matlab. En oposición a la integración, la diferenciación numérica es mucho más dificil. La integración describe una propiedad global ó macroscópica de una función, mientras que la diferenciación describe la pendiente de una función en un punto, que es una propiedad microscópica de una función. Como resultado de ello, la integración no es sensible a cambios pequeños en la forma de una función, mientras que la diferenciación si lo es. Cualquier pequeño cambio en una función puede fácilmente crear grandes cambios en su pendiente en el entorno del cambio. A causa de esta dificultad inherente, la diferenciación numérica se evita siempre que sea posible, especialmente si los datos a diferenciar se obtienen experimentalmente. En ese caso, es mejor efectuar un ajuste por mínimos cuadrados de la curva a los datos y luego derivar el polinomio resultante. Como un ejemplo, veamos el siguiente conjunto de instrucciones: >> X = [ 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 ] >> Y = [-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2 ] >> n = 2 % orden del polinomio de interpolación de los datos. >> P = polyfit(X, Y, n) % determina los coeficientes del polinomio % se obtiene lo siguiente:

P = - 9.8108

20.1293

- 0.0317


51 >> Xi = linspace(0, 1, 100); >> Z = polyval(P, Xi);

% evalua el polinomio en Xi.

>> plot(X, Y, 'o', X, Y, Xi, Z, ':') >> xlabel('Eje x'), ylabel('Eje Y = F(X)') >> title('Ajuste de datos a un polinomio de segundo orden') A jus t e d e da t o s a un p o lin o m io d e s e gu n d o o rd e n 12 10

Eje y=f(x)

8 6 4 2 0 -2

0

0.2

0.4

0.6

0.8

1

E je x

% se obtiene la siguiente figura La derivada de la función, en este caso, se encuentra utilizando la instrucción para la derivada polinomial polyder >> Pd = polyder(P) Pd = -19.6217 20.1293 Nota.- La derivada de Y = f(X) = -9.8108 X2 + 20.1293 X - 0.0317, es Y' = f'(X) = -19.6217 X + 20.1293, como la derivada de un polinomio (de grado n) es otro polinomio de un grado (n -1), la derivada también puede evaluarse y representarse gráficamente, como veremos a continuación. >> Z = polyval(Pd, Xi) % evalua la derivada en Xi >> plot(Xi, Z, 'b') >> xlabel('valor de X') >> ylabel('dY/dX') >> title('Derivada de un polinomio de interpolación de 2º orden') % Derivada de un polinomio de interpolación de 2º orden


52 % se obtiene la siguiente figura Derivada de un polinomio de interpolación de 2º orden 25

20

dY/dX

15

10

5

0 0

0.2

0.4

0.6

0.8

1

valor de x

En este caso, el ajuste polinomial fue de 2º grado, haciendo que la derivada resultante sea de primer orden. Como resultado, la derivada es una línea recta, lo que significa que cambia linealmente con X.


53 Problemas sobre Derivadas de Funciones y Diferenciación Numérica. P-1-) Determine la expresión simbolica correspondiente a la primera derivada de cada una de las siguientes expresiones algebráicas: a-) Y = F(X) = X3 + 3X2 - 5X + 10 b-) Y = F(X) = Arctg(X+2) c-) Y = F(X) = Î2x Cos(2X)

P-2-) Evalúe la primera derivada de recursivas: a-) Y'(1) = [Y(1 + h) - Y(1) ] / h

Y = Sen(X), para X = 1, utilizando

las siguientes fórmulas

b-) Y'(1) = [Y(1) - Y(1 - h) ] / h c-) Y'(1) = [Y(1 + h) - Y(1 - h) ] / h Determine los errores con h = 0.1; 0.05; 0.01; 0.005 y 0.001 comparando con los valores exactos. P-3-) Evalúe la segunda derivada de Tan(X) en X = 1, usando la fórmula de diferencia central, empleando h = 0.1; 0.05 y 0.02. Evalúe el error mediante comparación con el valor exacto y pruebe que el error es proporcional a h2.

P-4-) La distribución de velocidades de un fluido cerca de una superficie plana, está dada por:

I 0 1 2 3

Yi (mts)

Vi (mts/seg)

0.0 0.001 0.003 0.006

0.0 0.4171 0.9080 1.6180

En donde Yi es la distancia desde la superficie y Vi es la velocidad. Suponiendo que el flujo es laminar y que su viscosidad es m = 0.001, determine el esfuerzo de corte en Y=0, utilizando los datos de la tabla anterior.

Nota-) Respecto al concepto de derivada se debe tener presente lo siguiente: a) Que la derivada es la función que representa la rapidez de la variación. b) Que el valor de la derivada para un valor determinado de la variable independiente es el valor de la rapidez con que varía la función en ese punto.


54 c) Que en la gráfica de una función el valor de la derivada de la función en un punto, está representado por el valor de la pendiente de la recta tangente a la gráfica en el punto. y 7 6 5 4 3 2 1

m

2

y = f(x)

4

6

8

10

X

d) Es importante analizar la variación de la rapidez de la variación en la gráfica de la función, observando cómo varía la pendiente de la recta tangente a la curva en los diferentes puntos de la curva. Como un ejemplo ilustrativo, presento la siguiente gráfica. Gráfica que muestra intersecciones entre Y = X2 , con Y = X + 6 16

14

Los puntos de intersección son P1(-2,4) y P2(3,9)

12

Eje Y

10

8

6

4

2

0 -4

-3

-2

-1

0 Valores de x

1

2

3

4

Gráfica Intersección de la Recta y = x , con la Parábola Y=x 2+x-0.5 12

10

8

Eje y

6

4

2

0

-2

-4 -3

-2

-1

0 Eje x

1

2

3


55

Práctica # 7: Aplicaciones físicas de la primera derivada. El Objetivo de la práctica es lograr que el estudiante comprenda y domine diferentes instrucciones del Software Matlab para determinar valores numéricos de la primera derivada de diversas funciones continuas de la forma y = f(x) (funciones f:R àR2 en el plano), practicando dichos comandos en diferentes problemas de aplicación que se estudian en los cursos de matemáticas I y II.

Problema de Aplicación #1: Juan ha salido de excursión con algunos de sus compañeros de clase a la címa de un gran edificio. Selecciona un tomate de su bolsa de comida, se apoya en el borde del tejado, y lo lanza hacia arriba. El tomate sale recto, con una velocidad inicial de 64 pies/seg. El tejado está a 96 pies por encima del suelo (fig. #5). ¿Dónde está el tomate t segundos más tarde? ¿Cuándo alcanza su máxima altura? ¿Qué altura máxima sobre el suelo alcanza el tomate? ¿Cuándo golpea el tomate en el suelo?. Suponer que no hay resistencia del aire y que la aceleración debida a la gravedad es la constante g = - 32 pies/seg2.

th_max = 2 seg.

Ymax = 160 ft Y0 = 96 ft

t = 0 seg. Edificio Desde donde se lanza el tomate.

tfin= 5.16 seg. Yfin = 0 ft Figura #1-) Figura correspondiente al problema de aplicación. Solución del problema: Se elige el nivel del suelo como la altura cero; es decir Yfin= 0 es el suelo, siendo Y0 = 96 ft la cima del edificio. La velocidad se expresa como: V = (dy /dt), y la aceleración por a = (dv / dt) = d2y dt2 por lo tanto, si se integra la aceleración (una sóla vez) se obtiene la velocidad y se integra la velocidad se obtiene la posición ó altura (Y). >> a = - 32 % La aceleración debida a la gravedad. >> V = int(a, 't') % Encuentra la velocidad como función del tiempo. V = - 32 * t >> V = Symadd(V, 64) V = - 32 * t + 64

% En t = 0, la velocidad es de 64 pies/seg.

>> Y = int(V, 't') % se integra la velocidad para calcular la altura en función de t. Ù Y = - 16 * t 2 + 64 * t >> Y = Symadd(Y, 96) % En t = 0, la altura es de 96 pies. Ù Y = - 16 * t 2 + 64 * t + 96 Vamos a verificar que el resultado es correcto. Haciendo t = 0 en la expresión anterior, tenemos que: >> Yo = - 16 * 0 Ù 2 + 64 * 0 + 96 Yo = 96 pies.

% La altura en t = 0.


56 Esta es la altura correcta del tomate, antes de que se lance. Se puede usar la función Subs como un método alternativo para verificar el resultado en t = 0. >> Yo = Subs (Y, 0, 't') % determina la altura del objeto, en t = 0. Yo = 96 pies. Hasta aquí, ya tenemos expresiones para la velocidad y la posición (altura) del tomate como una función del tiempo. La altura máxima detiene su ascenso y comienza el descenso. Para obtener este punto, se obtiene el valor de t cuando V = 0, utilizando la función Solve de Matlab. Esta función determina(evalúa) el valor de la variable de una cadena simbólica con una variable sola cuando la función es igualada a cero. En otras palabras, Solve(f), donde f es una función de X, se resuelve para X cuando f(X) = 0. >> th_max = Solve(V) th_max = 2 seg.

% Encuentra el valor de t cuando V(t) = 0.

Nota: Ya que Solve es una función simbólica, devuelve una constante simbólica (incluso aunque parezca número). Ahora se obtendrá la altura máxima que se tiene cuando t = 2 segundos. >> Ymax = Subs(Y, t h_max) % Substituye el valor de t = 2 en Y(t). Ymax = 160 pies. Advertir que la función Subs hace lo mismo que se hizo antes, cuando se comprobó la expresión para Y. Subs; sustituye un 2 por cada t en la expresión, simplificando si puede, y delvolviendo la expresión resultante. Ahora se obtiene el tiempo cuando el tomate(objeto) golpea el suelo: >> tfin = Solve (Y)

% el tomate golpea el suelo cuando Y = 0.

tfin = [2 - 10Ù (1/2)]

[2 + 10Ù (1/2)]

Ya que (2 - Ö10 ) es negativo y el tomate no puede caer al suelo antes de que se lance, la única solución válida es t = (2 + Ö10 ) seg. A continuación, se obtiene el valor numérico de t cuando el tomate golpea el piso: >> numeric(tfin) ans = -1.1623 5.1623 Así, la altura alcanzada por el tomate(objeto), transcurridos t segundos, está dada por: Y = 16 t2 + 64 t + 96; el tomate sube a una altura máxima de 160 pies por encima del suelo en el tiempo t = 2 segundos, y golpea el suelo (ó piso) en t = 5.1623 seg.. Representación Gráfica del problema. Para tener una idea más clara de qué le ocurre al objeto(tomate), vamos a dibujar el resultado del lanzamiento del mismo: % Expresión para la posición del objeto, en función del tiempo t ³ 0. Y = - 16 * tÙ2 + 64 * t + 96


57 >> ezplot (Y)

% Dibuja la curva trayectoria seguida por el objeto. - 16 * tÙ2 + 64 * t + 96

ft 200 160 100 50 0

-200 -3

-2

-1

0

1

2

3

4

5

seg

Figura #2-) Gráfica que despliega Matlab para el ejemplo de aplicación.

Observaciones.-) El tiempo que tarda el objeto en llegar a dicho punto de máxima altura, se puede obtener a partir de la fórmula: V = V0 - g t, de donde tm = V0 /g, cuando la velocidad es V = 0. V = (dy /dt) = 0 Y = V0 Senq t + (1/2) g t2;

Ymáx

Y = Tg(q) X + (g / 2V02) Sec2q X2

Vo q

t0

tm

tf

t

Figura #-3-) Trayectoria parabólica que sigue el objeto al lanzarse y caer libremente. Esta última expresión, tm = V0 /g, también podemos obtenerla a partir de la fórmula que nos permite calcular la altura del objeto en cualquier instante de tiempo, como veremos a continuación. Y = V0 Senq t + (1/2) g t2 ; dado que en el punto de máxima altura q = 0 à Sen0 = 0, de donde Ymáx = (1/2) g tm2, à tm = Ö 2Ymáx / g = Ö V02 /g2 = V0 /g Aquí, se sustituyó Ymáx = V02 / 2g La siguiente figura describe la velocidad del objeto al ir subiendo. V En la figura #4, se ilustra como la velocidad del V0 objeto va disminuyendo hasta llegar a un instante tm en donde V = 0. -g Lim ((V-V0)/t) = - g t à tm Al ir subiendo, V0 > V t =0

tm

t

Figura #4-) Función velocidad vs tiempo, es líneal y decreciente cuando el objeto va subiendo.


58 ¿Qué podemos decir de la velocidad del objeto por el solo hecho de ir subiendo? La velocidad del objeto va disminuyendo conforme va subiendo, debido a la acción de la gravedad terrestre (g » 9.81 mts/seg2), la cuál actua en sentido opuesto al del movimiento. ¿Qué podemos decir de la velocidad del objeto en el instante en que alcanza la máxima altura? Respuesta: En el instante en que el objeto alcanza su máxima altura, la velocidad del mismo es nula o cero (instante en que ya no sigue subiendo). V = (dy/dt) = 0 Como V2 = V02 - 2gY, de aquí se tiene, que en el punto de máxima altura del objeto, se cumple à 0 = V02 2gYmáx à Ymáx = V02 / 2g Donde V0 es la velocidad inicial de la Pelota. ¿Qué podemos decir de la velocidad del objeto al ir bajando? V

Al ir bajando el objeto, su velocidad va aumentando, y se tiene qué Lim ((V-V0) / t) = g t à tf

Vf g

la acción de la gravedad es a favor del movimiento del objeto, por eso aumenta la velocidad al ir bajando.

tf t Figura #5: La Función velocidad vs tiempo es líneal y creciente, cuando el objeto está bajando. Bosquejar una gráfica que represente la manera en que varió la altura del objeto desde el momento en que empezó a subir hasta el instante en que llegó al suelo.

La altura del objeto en cualquier instante de tiempo está dada por: Y = V0 Senq t + (1/2) g t2 ; en el punto de máxima altura q = 0 à Sen0 = 0, de donde Ymáx = (1/2) g tm2, à tm = Ö 2Ymáx / g = Ö V02 /g2 = V0 /g Aquí se sustituyó Ymáx = V02 / 2g La siguiente figura ilustra el movimiento parabólico que sigue el objeto. V = (dy /dt) = 0 Y2 Y = V0 Senq t + (1/2) g t2;

Ymáx

Y1

o también

Y = Tg(q) X + (g / 2V02) Sec2q X2

Vo q

t0

t 1 t2

tm

tf

t

Figura #6-) Trayectoria parabólica que sigue un objeto al lanzarse y caer libremente.


59

Nota-) La instrucción ezplot representa la función simbólica en el dominio -2p £ t £ 2p y escala el eje Y en la forma correspondiente. También se pueden añadir cuadriculas y etiquetas en la gráfica. >> ezplot ( Y, [0, 6] ) % Dibuja la trayectoria seguida por el objeto, para el intervalo 0 < t < 6. Una vez que Matlab muestra en la ventana de las figuras, dicho dibujo se puede modificar. Por ejemplo, podemos escalar los dos ejes del dibujo anterior; añadir un título y etiquetas: >> axis ( [ -4 8] ) % Escala de -4 a 8 para el eje horizontal (tiempo) . >> title ("Grafica desplazamiento contra tiempo") >> ylabel ("Desplazamiento en pies (Y)") >> xlabel ("Valores de tiempo en segundos") Los demás comandos de dibujo de Matlab también están disponibles para personalizar las gráficas. Por ejemplo, el comando Zoom permite usar el ratón (Mouse) para lograr un acercamiento sobre cualquier área que se desee en la gráfica. Grafica Desplazamiento Contra Tiempo 200

Desplazamiento en Pies ( Y )

100 0 Gráfica de y = -16*t 2+64*t +96

-100 -200 -300 -400 -500 -4

-2

0 2 4 Valores de tiempo en segundos

6

8


60

Práctica #8: Integración de funciones de variable real. El Objetivo de la práctica es lograr que el estudiante comprenda y domine diferentes instrucciones del Software Matlab para determinar expresiones analíticas correspondientes a la primitiva de una función (integral indefinida); o también, para determinar valores numéricos de la Integral de diversas funciones continuas de la forma y = f(x) (integral definida de funciones f: R àR2), practicando dichos comandos en diferentes fórmulas que se utilizan con frecuencia en los cursos de matemáticas I y II. La Diferenciación e Integración son operaciones básicas en el estudio y aplicación del cálculo; además de ser extensamente usadas en muchas disciplinas de ingeniería. Las herramientas simbólicas de matlab pueden ayudar a resolver muchas de estas clases de problemas.

Integración:

La función de Integración en Matlab, es int(f), donde f es una expresión simbólica. Generalmente, la integración es una operación más complicada que la derivación. La Integral ó Antiderivada, puede no-existir en forma cerrada, ó puede existir pero el software no puede encontrarla, ó finalmente el software la encuentra pero quedándo sin memoria ó tiempo. Cuando MATLAB no puede encontrar la Antiderivada, devuelve el comando sin evaluar; por ejemplo: >> int ('Log(X)/exp(XÙ2)') % Integral inpropia que intenta integrar. ans = int (Log(X)/exp(XÙ2), X) La función de integración como la diferenciación, tiene más de una forma de usarse. La forma int(f) intenta obtener una antiderivada con respecto a la variable independiente por default(X). La forma int(f, 's') intenta obtener una antiderivada con respecto a la variable simbólica s. Las formas int(f, a, b) e int(f, s, a, b), donde a, b son valores numéricos, intentará obtener las expresiones simbólicas de la integral definida para límites desde a hasta b. Las formas int(f, 'm', 'n') e int(f, 's', 'm', 'n'), donde m y n son variables simbólicas, intentan obtener expresiones simbólicas para la integral definida para límites desde m hasta n; a continuación veremos algunos ejemplos: >> f = 'Sin (S + 2 * X)' % Crea una función simbólica. f = Sin (S + 2 * X) >> int(f) % Integra con respecto a la variable X. ans = -(1/2) * Cos(S + 2 * X) >> int(f, 'S') % Integra con respecto a S. ans = - Cos(S + 2 *X) >> int(f, Pi/2, Pi) % Integra con respecto a X, desde p/2 hasta p. ans = - Cos(S) >> int(f, 'S', Pi/2, Pi) % Integra con respecto a S desde p/2 hasta p. ans = Cos (2 * X) - Sen (2 * X) >> int(f, 'm', 'n') % Intengra con respecto a X, desde m hasta n. ans = - (1/2) * Cos (S + 2 * n) + (1/2) * Sen (S + 2 * m) Otro ejemplo de integración de funciones. >> g = 'Sec ( X)' % Crea una función simbólica. g = Sec ( X) >> gint = int(g) % Integra con respecto a la variable X. gint = Ln( Sec(X) + Tg(X) )


61 Otro ejemplo de integración de funciones. >> fg = '1/(1 + X2)' % Crea una función simbólica. fg = 1/(1 + X2) >> fgint = int(g) fgint = Arctg(X)

% Integra con respecto a la variable X.

Igual que la función diff, la función de integración int opera sobre cada uno de los elementos de un arreglo (Array) simbólico; por ejemplo: >> f = Sym ('[a * X, b * X Ù2; c * XÙ3, S]') f = [a * X, b * XÙ2] [c * XÙ3, S ]

% Creación de un arreglo (Array) simbólico.

>> int(f) % Integración de los elementos del arreglo (Array) con respecto a X. ans = [(1/2) * a * XÙ2, (1/3) * b * XÙ3] [(1/4) * c * XÙ4, S*X ] ______________________________________________________________________________________ INTEGRACIÓN NUMÉRICA. Los métodos de integración numérica nos permiten integrar funciones que están definidas analíticamente ó que se presentan en forma tabular. El principio básico de los métodos de integración numérica, consiste en ajustar un polinomio a puntos de datos funcionales y luego integrarlo. Así, podemos derivar muchos métodos de integración distintos, modificando la distribución de las abscisas de los puntos de datos. Entre dichos métodos, tenemos: 1. Método de la Regla Trapezoidal. 2. Métodos de Simpson. 3. Método de Newton-Cotes. 4. Método de Cuadratura de Gauss. Nota-) En este manual de prácticas, sólo trabajo con los dos primeros métodos, tratando de exponerlos de la manera más explicita y sencilla posible. 1º-) Para el método de la Regla Trapezoidal, tenemos que: b

I=

ò f(x) dx

= (h/3) (f1 + 2f2 + 2f3 + . . . + 2 fn + fn+1 ) + E

a

Eje y en donde h = (b – a) / n xi = a + (i – 1) h fi = f(xi) donde i = 1,2,...n+1 __ 2 E = - ( (b –a)/12 n ) f´´ E = error de la regla trapezoidal f´´ es la media aritmética de f´´(x), en a < x < b.

y = f(x)

x1

x2

x3

xn

xn+1

Eje x


62 Supongamos que f es un arreglo de fi para puntos de abscisas equiespaciadas, con un tamaño de intervalo de h. La regla trapezoidal puede escribirse, en Matlab, como sigue:

I = h * (Sum(f) – 0.5*(f(1) + f(length(f))) Una forma más comoda de aplicar la regla trapezoidal, es utilizar la instrucción o comando trapez_v, trapez_n ó trapez_g. La sintaxis del primero de ellos es:

I = trapez_v(f, h), en donde f es un vector de las ordenadas del integrando, y h es el tamaño del intervalo. La sintaxis de los otros dos comandos es:

I = trapez_n(‘nombre_f’, a, b, n), I = trapez_g(‘nombre_f’, a, b, n), en donde nombre_f es el nombre de la función que se desea integrar, a y b son los límites de integración y n es el número de intervalos empleados en la regla trapezoidal. Ejemplo #1-) Un automóvil de masa M = 2000 kg, viaja a una velocidad de 30 mts/seg. La transmisión del auto se pone en neutral en t = 0 seg. Suponga que la ecuación de la desaceleración para cualquier tiempo t > 0, es: 2000 v (dv/dx) » - 8.1 v2 – 1200, en donde v es la velocidad y x es la distancia lineal recorrida por el automóvil, desde el lugar en que se encontraba en t = 0. El miembro de la izquierda es la fuerza de aceleración, el primer término del lado derecho es la resistencia aerodinámica, y el segundo término es la resistencia al rodado. Determine la distancia (x) que recorre el automóvil, antes de que la velocidad se reduzca a 15 mts/seg. Solución: Arreglando la ecuación dada, tenemos qué: 2000 v dv ( - 8.1 v2 – 1200)

» dx,

x dx = x

30

»

2000 v dv ( 8.1 v2 + 1200) 15

e integrando, tenemos

0

el signo del lado izquierdo se cambio, invirtiendo los límites de la integración. Utilizamos la regla trapezoidal para evaluar la integral del miembro de la izquierda. Si tomamos 15 intervalos (16 puntos de datos), vi recibe inicialmente los valores vi = 15 + ( i – 1) Dv, para i = 1,2, 3, . . . 16 donde Dv = ( 30 – 15)/15 = 1. fi =

2000 vi ( - 8.1 vi2 – 1200)

,

Si definimos a fi, como y aplicamos la integración trapezoidal, tenemos que

16

X = Dv * [å fi - 0.5*(f1 + f16) ] i=1

A continuación, se construye un programa en Matlab, para calcular la ecuación anterior: % Programa script para resolver el problema del ejemplo #1 clear; np = 16;


63 i = 1: np; h = (30 –15)/(np –1); v = 15 + (i – 1)*h; f = 2000*v./(8.1*v^2 + 1200); x = trapez_v(f, h) % el resultado que se obtiene al ejecutar este pequeño programa es: X = 127.50 mts. ______________________________________________________________________________________ Ejemplo #2- ) Sabiendo que la respuesta exacta es I = 4.006994, analice el efecto del número de intervalos (n), sobre el error de la regla trapezoidal, aplicada a la siguiente integral definida: 2

I =

ò

Ö 1 + exp(x)

dx

0

Solución: El siguiente programa de Matlab resuelve el problema palnteado. % Programa para evaluar una integral usando la regla trapezoidal Clear I_exacta = 4.006994; a = 0; b = 2; fprintf(‘\n Método de la Regla Trapezoidal \ n’); fprintf(‘\n n I Error \ n’); n = 1; for k = 1: 6; n = 2*n; h = (b – a)/n; i = 1: n+1; x = a + ( i – 1)*h; f = sqrt( 1 + exp(x) ); I = trapez_v(f, h); fprintf(‘ % 3.0 f % 10.5 f % 10.5 f \ n’, n, end % Al ejecutar este programa, se obtiene: n I Error 2 4.08358 0.07659 4 4.02619 0.01919 8 4.01180 0.00480 16 4.00819 0.00120 32 4.00729 0.00030 64 4.00707 0.00008

Observación: al duplicarse n, el error disminuye por un factor de 4.

I,

(I_exacta - I) );


64

2º-) Métodos de Simpson: Existen dos métodos o reglas de Simpson, las reglas (1/3) y (3/8), que se complementan mutuamente. Si consideramos, una vez más, la evaluación de la ecuación: I =

ò f(x) dx

b

. . .ec(1),

a

Podemos determinar un polinomio de interpolación cuadrático (de segundo orden), con tres puntos de datos en x1 = a, x2 = (a + b)/2 y x3 = b. Denotamos los valores funcionales en los puntos de datos con f1, f2 y f3. La regla (1/3) de Simpson se deduce sustituyendo este polinomio cuadrático por f(x), de tal manera, que I = (h/3)(f1 + 4f2 + f3 )

. . .ec(2), en donde h = (b – a)/2

Si incluimos el término E (error), la ec(2) puede escribirse como sigue: I = (h/3)(f1 + 4f2 + f3 ) + E . . .ec(3) en donde E es el término del error, dado por E = ( h5 / 90) f”’ . . .ec(4), lo que indica, que el error es proporcional a h5. El error desaparece si f(x) es un polinomio de orden tres o menor. La ec(4) puede verificarse como sigue: la integral exacta puede expresarse en forma de serie de potencias integrando la expansión de Taylor de f(x) alrededor de x = a. Por otro lado, f2 y f3 en la ecuación(2) se pueden expandir a una serie de Taylor alrededor de x = a. Después de expresar tanto la integral exacta como la regla (1/3) de Simpson en forma de series de potencias, restamos la segunda de la primera y conservamos sólo el término inicial. La regla (1/3) de Simpson extendida es una aplicación repetida de la ecuación(2) a un dominio dividido en un número par de intervalos. Si denotamos el número total de intervalos con n par, la regla (1/3) de Simpson extendida se escribe de la siguiente forma: b

I = ò f(x) dx = (h/3)(f1 + 4f2 + 2f3 + 4f4 + . . . + 2fn-1 + 4fn + fn+1) + E . . .ec(6), a

en donde fi = f(a + (i –1)*h ), con h = ( b – a ) / n; el término del error E, está dado por E = - ((b –a) h4 /180) f”’ ,

en donde f”’es la media de f”’(x) en a < x < b.

Ejemplo #3- ) Evaluaremos otra vez la integral del ejemplo #2, utilizando ahora la regla (1/3) de Simpson extendida, con n = 2, 4, 8 y 16. Para ello, elaboramos el siguiente programa de Matlab: % Programa para evaluar una integral usando la regla (1/3) de Simpson Clear I_exacta = 4.006994; a = 0; b = 2; fprintf(‘\n Método ó Regla de Simpson (1/3) extendida \ n’); fprintf(‘\n n I Error \ n’); n = 1; for k = 1: 4; n = 2*n; h = (b – a)/n; i = 1: n+1; x = a + ( i – 1)*h; f = sqrt( 1 + exp(x) ); I = (h/3)*( f(1) + 4*sum(f(2:2:n)) + f(n+1) ); If n > 2, I = I + (h/3)*2*sum(f(3:2:n));


65 end fprintf(‘ % 3.0 f

% 10.5 f

% 10.5 f

\ n’,

n,

I,

(I_exacta - I) );

end % Al ejecutar este programa, se obtiene: Método ó Regla de Simpson (1/3) extendida n I Error 2 4.00791 0.00092 4 4.00705 0.00006 8 4.00700 0.00000 16 4.00699 0.00000

3º-) La Regla de Simpson (3/8), se basa en el polinomio de interpolación de tercer orden y está dada por: b

I =

ò f(x) dx

= (3h/8)( f1 + 3f2 + 3f3 + f4 ) + E . . .ec(7)

a

en donde fi = f(a + (i –1)*h ), con h = ( b – a ) /3; el término del error E, está dado por E = - 3 h5 /80 f”’. La expresión anterior, para el error, puede deducirse mediante la expansión de Taylor de forma similar a como se hizo con la regla (1/3) de Simpson. Observación importante.- Al tratar de integrar datos en puntos equiespaciados, si el número de intervalos "n" es impar, entonces no podemos aplicar la regla (1/3) de Simpson extendida. En estos casos, se aplica la regla (3/8) a los 3-primeros ó a los 3-últimos intervalos, y luego aplicamos la regla (1/3) extendida al resto de los intervalos. Puesto que el orden del error en la regla (3/8) es el mismo que en la regla (1/3), las dos reglas se combinan naturalmente sin pérdida de orden de exactitud. En Matlab, podemos usar las funciones simps_v y simps_n para integrar una función. La sintaxis de la primera de ellas es: I = simps_v(f, h), en donde f es el vector que contiene las ordenadas del integrando con un tamaño de intervalo equiespaciado h. El número de intervalos es arbitrario, excepto que debe ser cuando menos 2. Sí el número de intervalos "n" es impar, se aplica primero la regla (3/8) y luego se aplica la regla (1/3) al resto de los intervalos. La sintaxis de simpson es: I = simps_n(‘nombre_f’, a, b, n), en donde nombre_f es el nombre de la función (ó archivo M de la función) del integrando, a y b son los límites de integración y n es el número de intervalos utilizados en la regla extendida.

Ejemplo #4-) Un tanque esférico con radio de 5 mts, está lleno de agua hasta el tope. Se va a drenar el liquido por un agujero de radio b = 0.1 mt, situado en el fondo del tanque, comenzando en t = 0 seg. Considerando que no hay fricción ¿ cuanto tiempo tardará el nivel del agua en llegar a 0.5 mts, medido desde el fondo? Solución: La velocidad del agua que drena por el agujero está determinada por la ecuación de la energia: mg (z + R) = (1/2) m u2 à g ( z + R) = (1/2) u2 . . .ec(1), en donde u es la velocidad, z es el nivel del agua medido desde el centro de la esfera, R es el radio del tanque y g es la aceleración debida a la gravedad (g = 9.81 mt/seg2).


66 Considere el cambio en el nivel de agua dz durante el intervalo de tiempo dt. El volumen de agua en dz es igual a: V = p x2 dz, donde x es el radio de la superficie circular de agua en la altura z. Podemos escribir la relación de continuidad de flujo, como: u A dt = - p x2 dz ... ec(2), en donde A es el área de sección transversal del agujero de salida, dada por: 2 2 2 A = p b2 ec(3). El radio de la superficie de agua x está relacionado con z, mediante la expresión: R = z + x à x2 = R2 - z2 . . .ec(4). Sustituyendo las ecuaciones (1), (3) y (4) en la ec(2), se obtiene la siguiente ecuación: Ö2g (z + R)

(p b2 ) dt = - p ( R2 - z2 ) dz, de donde se obtiene (R2 - z2 ) dz

dt = -

b2 Ö2g (z + R)

Observe que el nivel del agua en la parte superior del tanque es z = R, mientras que a 0.5mts del fondo es z = 0.9 R. Si integramos esta última expresión, tenemos: R

t =

( R2 - z2 ) dz b2 Ö2g (z + R)

-0.9 R

Ahora, integraremos la ecuación anterior, mediante la Regla de Simpson extendida: Clear R = 5; g = 9.81; b = 0.1; Z1 = - R*0.90; Z2 = R; h = (Z2 - Z1)/20; Z = Z1: h: Z2; F = (R^2 - Z.^2). / (b^2 * sqrt(2*g*(Z + R))); I = simps_v(F, h) /60/60 % El resultado de este programa es: I = 0.5145 horas __________________________________________________________________________________ Ejemplo #5-) La longitud de la curva y = g(x) en a < x < b, se puede calcular mediante la expresión: b

I = ò Ö 1 + (g'(x))2

dx

a

Determine la longitud del arco parabólico y2 = 4 x que satisface 0 < x < 2. Solución: Puesto que g(x) = 2Ö x , su derivada es g'(x) = 1 / Ö x , y la integral se convierte en: 2

I =

ò 0

Ö 1 + (1 / x)

dx


67 El integrando de la ecuación anterior es singular en x = 0. Los límites de integración en la coordenada transformada se fijan en z = - 4 y z = 4. Los resultados calculados son:

n 10 20 30

I 3.600710 3.595706 3.595706

Nota adicional: Las funciones simbólicas de Matlab se pueden usar para convertir una expresión simbólica a su representación en fracciones parciales. Dado un polinomio racional f, int(f) integrará la función y, por regla general, separará los términos. Entonces, diff(ans) diferenciará cada término para producir la expresión original f en una forma de suma de términos que es la representación en fracciones parciales de f. Por ejemplo: >> Y = ‘( 10*x^2 + 40*x + 30) /( x^2 + 6*x + 8)’ >> diff ( int(Y) )

% calcula una representación en fracciones parciales

ans = 10 – 15/(x + 4) - 5/(x + 2) >>pretty(ans) 10 -

15 ( x + 4)

-

5 ( x + 2)

Esta técnica, también es útil para reducir un polinomio racional, donde el numerador es de un orden mayor que el denominador. >> g = ‘ ( X^3 + 5) / (X^2 – 1)’ >> diff ( int (g) ) ans = X + 3/( X – 1) - 2/( X + 1 ) >>pretty(ans) 3 X +

2 -

(X–1)

(X +1)


68 2

Problemas sobre Integración de Funciones f: R àR (funciones Y = f(X) ) P-1-) Evalúe cada uno de los siguientes integrales usando la Regla Trapezoidal extendida, con n = 4, 8 y 16 intervalos. p/4

a-)

I =

ò

Tang(X) dX = ?

0 1

b-)

I =

ò

ÎX dX = ?

0 1

c-)

I =

ò

1

dx = ?

(2 + x )

0

P-2.-) Un tanque esférico con agua, con 20 mts de radio, está situado a 40 mts sobre el suelo. Un tubo de drenaje vertical recto con radio b = 0.2 mts y 40 mts de longitud, está conectado al fondo del tanque para drenar el agua al nivel del suelo. El factor de fricción del tubo es f=0.0016. El tanque está lleno de agua hasta el tope, y el drenado se inicia en t = 0. ¿Cuánto tiempo se requiere para drenar el agua del tanque? Sugerencia: La ecuación de la energía para determinar la velocidad del agua en el tubo, está dada por:

g Z = (1/2) u2 + f (L / 2b ) ( u2 /2 ) El primer término del lado derecho es la energía cinética del agua que sale del tubo, y el segundo término es el efecto de pérdida por fricción. Construya un programa de Matlab para resolver este problema. Utilice 20 intervalos. P-3-) Evalúe cada uno de los siguientes integrales usando la Regla (1/3) de Simpson extendida, con n = 4, 8, 16 y 32 intervalos. p

a-)

I =

ò

1

dX = ?

(2 + Cos(X))

0 2

b-)

I =

ò

Log( 1 + X )

1

X

dX = ?

p/2

c-)

I =

ò

1

(1 + Sen (X))

0

d-)

I =

ò 0

dX = ? 2

2p

Î2X Sen2(X) dX = ?


69 P-4-) Un automovil de masa m = 5400 kg, viaja a una velocidad de 30 mts/seg. La transmisión se pone en neutral repentinamente en t = 0 seg. Suponga que la ecuación de desaceleración después de t = 0, está dada por:

5400 (dv /dX) = - 8.27 v2 - 2000, donde v = v(t) es la velocidad (en mts/seg) del automovil en t > o. El miembro de la izquierda representa a m v (dv/dX). El primer término del lado derecho es el arrastre aerodinámico y el segundo término es la resistencia al rodamiento de los neumáticos. Construya un programa de Matlab que determine la distancia que recorre el automovil hasta que su velocidad se reduce a 15 mts/seg. Sugerencia: La ecuación del movimiento se puede integrar como 30

I =

ò

x 5400 v dv 2

15 (8.27 v

+ 2000)

=

ò

dX = X

0

Evalúe la integral usando la regla (1/3) de Simpson.


70 Práctica #9: Algunas aplicaciones de la Integración de funciones de variable real. El Objetivo de la práctica es lograr que el estudiante comprenda y domine diferentes aplicaciones del cálculo integral, como lo son: 1º-) Cálculo de Áreas bajo curvas, y 2º-) La determinación de volumenes de sólidos de revolución, y mediante la construcción de programas de Matlab, compruebe los resultados que se obtienen en diferentes problemas referentes a dichas dos aplicaciones.

Aplicaciones de la Integral Definida 1º-) Cálculo de Áreas bajo curvas. Teoría (necesaria): Sea f una función continua en el intervalo [a, b], y suponiendo que f(x)³ 0 para toda xÎ[a,b], entonces observamos que el área bajo la gráfica de f entre a y b es igual a: b

Área =

ò

f(x) dx

a

Sí g es otra función continua con valores no negativos en [a, b] y sí f(x) ³ g(x) para toda xÎ[a, b], entonces el Área (A) de la región acotada por las gráficas de f y g en [a, b], se puede determinar restando el área bajo la gráfica de g del área bajo la gráfica de f; es decir, b

b

A = ò f(x) dx -

ò g(x) dx

a

b

=

a

ò [ f(x)

- g(x) ] dx

c

La siguiente figura ilustra el área de la región comprendida entre funciones f y g. Y

y = f(x) A y = g(x)

a

b

x

Ejemplo#1-) Determine el Área de la región comprendida entre la Parábola y = x2 y la línea recta y = x + 6. Respuesta: Determinaremos primero, los puntos de intersección entre las dos funciones: Como y = x2

y y = 6 + x, entonces à 6 + x = x2 à x2 - x - 6 = 0

à (x + 2 ) (x - 3) = 0 à X1 = - 2 y X2 = 3 Para estos valores de x, se obtienen los siguientes valores para la variable y:


71 Y1 = 4

y Y2 = 9

Así, los puntos de intersección son: P1(-2, 4) y P2(3, 9) Y y = f(x) = x + 6 y = g(x) = x2 9

(3, 9)

(-2, 4)

A

-2

3

x

Así pues, el área existente entre ambas funciones estará dada por: b

A=

ò [ f(x) a

3

3

- g(x) ] dx = ò [ x + 6 - x2 ] dx = [ (1/2) X2 + 6X - (1/3) X3 ] = 13 / 6 u2 -2

-2

Práctica: Construya un programa de Matlab, para verificar el resultado que se obtuvo para el área entre las dos funciones del ejemplo inmediato anterior.

Ejemplo#2-) Determine el Área de la región comprendida entre la Parábola y = Öx = x1/2, la recta y = - x + 6 y la recta y = 1. Respuesta: Determinaremos primero, los puntos de intersección entre la parábola y la recta: Como y = x1/2 y y = - x + 6, entonces à 6 - x = x1/2 à x2 - 13 x + 36 = 0 à (x - 4 ) (x - 9) = 0 à X1 = 4 y X2 = 9 Para estos valores de x, se obtienen los siguientes valores para la variable y: Y1 = 2 y Y2 = -3 (este valor se descarta puesto que y = Öx > 0 no puede ser negativo) Así, sólo existe un punto de intersección entre la parábola y = Öx y la recta y = 6 - x, el cuál es: P1(4, 2) . Pero además se tiene la intersección de la parábola y = Öx con la recta y = 1, para las cuales tenemos qué Öx = 1 à x = 1; obteniendose el punto (1,1).

También, la recta y = 1 intercepta a la otra recta y = -x + 6 en x = 5; por lo que se tiene un tercer punto, de coordenadas (5, 1).


72 El bosquejo de la figura es el siguiente: Y y = Öx

y=6-x (4, 2)

A y=1

(1, 1)

(5, 1)

X 1

2

3

4

5

6

Así pues, el área generada por dichas funciones estará dada por: b

A=

ò [ f(x)

5

5

ò [ Öx - 1] dx - ò [ Öx - (6-x) ] dx =

- g(x) ] dx =

a

1

4

5

(2/3) X ÖX - X

A=

5

(2/3) X ÖX + (1/2) X2 - 6X

1

4

A = ( -14 + 10 Ö5 )/3 + [ (41/6) - (10 Ö5 )/3 ] = 13 / 6 unidades2 Práctica: Construya un programa de Matlab, para verificar el resultado que se obtuvo para el área entre las dos funciones del ejemplo inmediato anterior. _______________________________________________________________________________________ Ejemplo#3-) Determine el Área de la región comprendida entre la Parábola x = y2 y la recta x = y + 2. Determinaremos primero, los puntos de intersección entre las dos funciones: Como x = y2 y x = y + 2, entonces à 2 + y = y2 à y2 - y - 2 = 0 à (y - 2 ) (y + 1 ) = 0 à y1 = -1 y y2 = 2 Para estos valores de y, se obtienen los siguientes valores para la variable x: x1 = 1 y x2 = 4 Así, los puntos de intersección son: P1( 1, -1) y P2(4, 2) Así pues, el área generada por dichas funciones estará dada por: b

A=

ò [ f(y) a

2

- g(y) ] dy =

ò [ y + 2 - y2 ] dy -1

2

A=

(1/2) y2 + 2 y - (1/3) y3

= 9/2 unidades2 -1


73 Bosquejo de la grรกfica para el inciso anterior: Y 2

(4, 2)

A X 4 (1,-1)

Recta x = y + 2

Prรกctica: Construya un programa de Matlab, para verificar el resultado que se obtuvo para el รกrea entre las dos funciones del ejemplo inmediato anterior.


74

2º-) Determinación de Volumenes de Sólidos de Revolución. (Método del "Disco" o del cilindro circular recto) Teoría (necesaria): Consideremos primero el caso donde el eje de revolución es una frontera de la región que se hace girar. Sea la función f continua en el intervalo cerrado [a,b] y supongamos que f(x) ³ 0 para todo x Î [a,b]. Sea R la región limitada por la curva y = f(x), el eje x y las rectas x = a, x = b. Sea S el sólido de revolución obtenido al girar la región R alrededor del eje x, procederemos a encontrar una definición adecuada para el número V que da la medida del volumen de S. y P[e,f(e)]

x=a xi-1 Dxi xi x=b

x

Cuando el i-ésimo rectángulo se gira alrededor del eje x obtenemos un disco circular en forma de cilindro circular recto cuyo radio de la base es f(e) unidades y cuya altura es Dxi unidades. f(e)

Dxi La medida del volumen de este disco circular, la cual denotamos por DVi, es DVi = p [f(e)]2 Dxi Como hay (n) rectángulos, en esta fórmula se obtienen n-discos circulares, y la suma de las medidas de las volúmenes de estos n discos circulares está dada por: V = å p [f(ei)]2 Dxi

que es una Suma de Riemann

La cual constituye una aproximación al volumen del sólido de revolución en unidades cúbicas. Cuanto más pequeño tomemos la norma (÷÷Dxi÷÷) de la partición, mayor será (n) y más cercana será esta aproximación al número V (Volumen del sólido de Revolución). Definición: Sea f una función continua en el intervalo [a,b] y supongamos que f(x) ³ 0 para toda x Î [a,b]. Si (S) es el Sólido de Revolución obtenido al girar alrededor del eje x. La región limitada por la curva y = f(x), el eje x, y las rectas x = a e y = b, y si V es el volumen de S, entonces V = p Lím å p [f(ei)]2 Dxi = p ò [f(x)]2 dx nàµ

. . .ec(1)


75 Ejemplo #1.- Determinar el volumen del sólido generado al girar alrededor de la recta x = 0, la región limitada por la curva (x – 1)2 = 20 – 4y y las rectas x = 0, y = 1 e y = 3 (a la derecha de x = 1). x=0 x=1

y=3 e

[g(e),e] y=1 Eje x (x – 1) = - 4(y – 5) 2

(x – 1)2 = 4(5 – y) à (x – 1)2 = - 4(y – 5) parábola con vértice en el punto (1,5) simetrica al eje y, sus hojas abren hacia abajo puesto que 4p= - 4 à p = -1

(sólido) – figura aproximada que se obtendría al girar alrededor del eje y la función g(y) x = g(y) = 2 5 - y + 1 3 b 2 ó ó [g(y)] dy = p õ [2 5 - y + 1]2dy V=põ 1 a 3 3 3 ó 5 - y dy + p ó V = 4p ó õ (5 – y)dy + 4p õ õ dy 1 1 1 2 2 ó 5 - y dy = - õ ó u du = - u3/2 = - (5 – y)3/2 õ 3 3 u=5–y du = - dy 1 ö3 3 3 æ æ 2ö V = 4p ç5y - y2 ÷ 1 + 4p ç- ÷ [(5 – y)3/2]1 + p [y]1 2 ø è è 3ø 9 1 2 2 æ ö V = 4p ç15 - - 5 + - (2)3/2 + (4)3/2÷ +2p 2 2 3 3 è ø æ34 4 2 ö 142p 16 2 ÷ + 2p = V = 4p ç p 3 3 3 3 è ø V=

p (142 – 16 2 ) 3


76 Observación: Si la región se gira alrededor de la recta x = 1 entonces la función f(x) es f(x) = g(y) – 1 à f(x) = 2 5 – y + 1 – 1 = 2 5 – y 3 3 2 ó[2 5 – y ] dy = 4p ó V=põ õ (5 – y)dy 1 1 1 ö3 9 1ö æ æ V = 4p ç(5y – y2)÷ 1 = 4p ç15 – – 5 + ÷ 2 ø 2 2ø è è

V = 24p

V = 4p (6)

Práctica: Construya un programa de Matlab, para verificar el resultado que se obtuvo para el volumen del sólido de revolución del ejemplo inmediato anterior. _________________________________________________________________________________________ Ejemplo #2.- Determinar el volumen del sólido que se genera al girar, alrededor del eje x, la región acotada por la parábola y = x2 + 1 y la recta y = x + 3 La parábola (y – 1) = x2 tiene su vértice en V(0,1), es simétrica al eje vertical (eje y) Interceptos entre las curvas: y = x2 + 1 y=x+3 y f(x) = x + 3 p1(2,5)

p2(-1,2)

y = x2 + 1

x x2 + 1 = x + 3 x2 – x – 2 = 0 (x – 2) (x + 1) = 0 x1 = 2 y1 = 5 x2 = –1

y2 = 2

Sólido: figura aproximada del volumen que se obtiene. b ó[[f(x)]2 – [g(x)]2] dx V = põ a


77 2 2 2 2 V = pó õ[(x + 3) – (x + 1) ] dx -1 2

2 æ 2 1 3 1 5 ö2 2 4 V = pó õ(6x – x – x + 8) dx = p çè3x – 3 x – 5 x + 8x÷ø -1 -1 æ117ö V = ç ÷ p unidades3 . è 5 ø Práctica: Construya un programa de Matlab, para verificar el resultado que se obtuvo para el volumen del sólido de revolución del ejemplo inmediato anterior. ________________________________________________________________________________________ Ejemplo #3.- Calcular el volumen del sólido generado al hacer girar, alrededor de la recta x=-4 , la región acotada por las dos parábolas. x = y – y2 y x = y2 –3 1 1 – x = y2 – y + (y – 0)2 = (x + 3) 4 4 æ 1ö 2 æ 1ö çy – 2÷ = – çx – 4 ÷ è ø è ø

vértice en v2(-3, 0)

vértice en v1(1/4, 1/2) Puntos de Intersección entre las dos parábolas: x = y – y2 1 3 y2 – y – = 0 2 2

x = y2 – 3 à

(y – 3/2) (y + 1) = 0

y – y2 = y2 – 3 à 0 = 2y2 – y – 3

x1 = -3/4

y1 = 3/2

x2 = -2

y2 = -1

Puntos de intersección P1 (-3/4, 3/2) y P2 (-2, -1) x=-4

y x = y2 – 3 P1

x

x = y – y2

P2

En este caso F(y) = y – y2 ;

G(y) = y2 – 3


78 F(y) = f(y) + 4

;

G(y) = g(y) + 4

b 2 2 V = pó õ[F(x) – G(x) ] dy a

3/2 2 3 à V=pó õ(15 – 9y + 8y – 2y ) dy -1

1 æ æ3ö æ27ö æ9ö 1 æ3ö 4 ö V = p ç15 ç ÷ – 3 ç ÷ + 4 ç ÷ – ç ÷ – 15(-1) + 3 (-1)3 – 4(-1)2 + (-1)4÷ 2 è è2ø è8ø è4ø 2 è2ø ø V=

875 p = 27. 3437 p unidades3 . 32

Práctica: Construya un programa de Matlab, para verificar el resultado que se obtuvo para el volumen del sólido de revolución del ejemplo inmediato anterior. ____________________________________________________________________________________ Ejemplo #4- Determine el volumen de la esfera generada al girar alrededor del diámetro, la región cerrada (encerrada) por la circunferencia x2 + y2 = r2 q(0,r)

p(-r,0)

p(r,0) q(0,-r)

y = r2 – x2 b 2 V = pó õ [F(x)] dx a r 1 r ó( r2 – x2)dx = p æçr2x – x3ö÷ V = põ 3 ø -r è -r 1 1 æ ö V = p çr3 – r3 – r2 (-r) + (-r)3÷ 3 3 è ø 1 ö æ V = 2p çr3 – r3÷ 3 ø è

à

V=

4 p r3 3

Práctica: Construya un programa de Matlab, para verificar el resultado que se obtuvo.


79

Ejemplo #5- Determine el volumen del sólido generado por la rotación, alrededor de la recta y = -3, de la región acotada por las dos parábolas y = x2 e y = 1 + x – x2 . Respuesta: (Sol. V =

261 p) 32 Parábola: y = 1 + x – x2

(y – 1) = – (x2 – x) 1 1ö æ (y – 1) = – çx2 – x + – ÷ 4 4ø è æ 5ö æ 1ö2 çy – 4 ÷ = – çx – 2 ÷ è ø è ø æ 1ö2 æ 5ö çx – 2 ÷ = – çy – 4 ÷ è ø è ø

Vértice v( 1/2, 5/4 )

Intersección entre las parábolas Y = x2

e

y = 1 + x – x2

x2 = 1 + x – x2 x2 –

1 1 x– =0 2 2

à

2x2 – x – 1 = 0

à (x – 1) (x + ½) = 0 à

x1 = 1

y1 = 1

x2 = - ½

y2 = ¼

Puntos de Intersección: P1(1, 1) y P2 = (-½, ¼) y y = x2 = g(x)

x y = -3 y=f(x)= 1 + x – x2 En este caso F(x) = f(x) + 3; 1 2 2 2 2 V=p ó õ[(1 + x – x + 3) – (x + 3) ] dx -1/2 1 ó V = p õ[(4 + x – x2)2 – (x4 + 6x2 + 9)] dx -1/2 1 2 3 V=p ó õ[7 – 13x + 8x – 2x ] dx -1/2

G(x) = g(x) + 3


80 13 2 1 1 V = p [7x – x + 4x – x4] -1/2 3 2 1 æ 13 æ 1 ö 13 æ 1 ö 3 æ 1 ö 2 1 æ 1 ö 4 ö V = p ç7 – + 4 – – 7 ç– ÷ + ç– ÷ – 4ç– ÷ + ç– ÷ ÷ 3 2 2è 2ø ø è è 2ø 3 è 2ø è 2ø V = 8.15625 p unidades cubicas

V=

261 p unidades cubicas 32

Práctica: Construya un programa de Matlab, para verificar el resultado que se obtuvo para el volumen del sólido de revolución del ejemplo inmediato anterior.


81

Práctica #10: Introducción a la Resolución de Ecuaciones Diferenciales. El Objetivo de la práctica es lograr que el estudiante comprenda y domine diferentes instrucciones del Software Matlab para determinar soluciones numéricas de Ecuaciones Diferenciales Ordinarias de orden n ³ 1, lineales y no-lineales, con coeficientes variables, mediante la aplicación de algunos principios ó métodos básicos, como el de Euler, el de Cauchy y los de Runge-Kutta, practicando dichos comandos en diferentes modelos y/o fórmulas que se utilizan con frecuencia en los cursos de la matemática I a la IV.

Teoría (necesaria): Ecuación diferencial simple. Las ecuaciones diferenciales ordinarias son algunas veces, dificiles de resolver. Matlab es una herramienta potente para ayudar a encontrar soluciones de las ecuaciones diferenciales. La función dsolve determina las soluciones simbólicas de ecuaciones diferenciales ordinarias (EDO). Cuando se trabaja con EDO, se necesita una forma de incluir las diferenciales en una expresión. Por lo tanto, la sintáxis de dsolve es un poco diferente a otras funciones de Matlab. Las ecuaciones son especificadas usando la letra D para indicar diferenciación; D2, D3, etc, para indicar derivada de 2º y 3er orden respectivamente, y así sucesivamente. Cualquier letra seguida de D# es una variable dependiente. Por ejemplo, la ecuación diferencial: d2 Y + Y = 0 dX2 es representada, en Matlab, por la expresión simbólica: D2Y + Y = 0 La variable independiente se puede especificar, o elegirla por default, según la regla de Symvar. Por ejemplo, la solución general de la EDO de primer orden dY = 1 + Y2 se puede obtener mediante: dX >> dsolve ('DY = 1 + Y^2 ') % determina la solución general ans = tan( X + C1 ) % C1 es una constante de integración Resolviendo la misma EDO para la condición inicial Y(0) = 1, se producirá: >> Y = dsolve( ' DY = 1 + Y^2 ' ; ' Y(0) = 1 ' ) Y= Tan( (X + 1) / 4*Pi ) Ahora, vamos a resolver una EDO de 2º orden, para las condiciones iniciales dadas: d2 Y

Y'(0) = 0 ó DY(0) = 0 = Cos(2X) - Y;

para

dX2

Y(0) = 1

>> dsolve('D2Y = Cos(2*X) - Y', 'DY(0) = 0', 'Y(0) = 1' ) Y= (-2/3)*Cos(X)^2 + 1/3 + (4/3)*Cos(X) >> Y = simple(Y)

% la respuesta es:

% para que Matlab simplifique la expresión, un poco más, si es posible

Y= (-1/3)*Cos(2*X) + (4/3)*Cos(X)


82 Veremos otro ejemplo, resolviendo la siguiente EDO: d2 Y d X2

_ 2

dY dX

_

3 Y =0

>>Y = dsolve( ' D2Y - 2*DY - 3*Y = 0 ' ) Y= C1* exp(-X) + C2* exp(3*X) Aplicando las condiciones iniciales: Y(0) = 0 e Y(1) = 1, tendremos: >>Y = dsolve( ' D2Y - 2*DY - 3*Y = 0 ', 'Y(0) = 0', 'Y(1) = 1' )

Y=

1

1 * exp(-X) -

(exp(-1) - exp(3)

* exp(3*X) exp(-1) - exp(3)

Para simplificar al máximo, usamos >> Y = simple(Y)

% simplifica al máximo la expresión para Y

Y= - ( exp(-X) - exp(3*X) ) / ( exp(3) - exp(-1) ) Para mejorar la presentación, usamos: >> Pretty(Y) exp(-X) - exp(3*X) exp(3) - exp(-1)

A continuación, se presenta el resultado gráfico que se obtiene de la región de interés.


83 % figura que representa a la solución de la EDO dada. >>ezplot(Y, [-6, 2])

5 0 -5

-10

-15

-6

-5

-4

-3

-2

-1

0

1

2

Figura: Gráfica de la solución de la EDO, para las condiciones iniciales: Y(0)=0 e Y(1)=1. Veremos otro ejemplo, resolviendo la siguiente EDO (un Oscilador Armónico): d2 Y d X2

+

4Y =0

>>Y = dsolve( ' D2Y + 4*Y = 0 ', ‘DY(0)=0’, ‘Y(0)=2’) Y= C1* Cos(2*t) + C2* Sen(2*t) Gráfica de la Solución de la EDO: D2y + 4*y = 0 1.5

1

Vlor de y

0.5

0

-0.5

-1

-1.5 -15

-10

-5

0 Valor de Variable t

5

10

15


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.