Software matemático Maple en la clase de Matemática Mgr. Patricia A. Có Prof. Erica Panella Indice Capítulo 1: Cómo empezar a trabajar con Maple…………………………………………………………………………1 Capítulo 2: Gráficos con Maple…………………………………………………………………………………………………….11 Capítulo 3: Cálculo diferencial con Maple…………………………………………………………………………………24 Capítulo 4: Calculo integral con Maple……………………………………………………………………………………….36 Capítulo 5: Álgebra Lineal con Maple……………………………………………………………………………………….. 46 Mgr. Patricia Có - Prof. Erica Panella 1 1 Cómo empezar a trabajar con Maple 1.1- Introducción Maple fue desarrollado originalmente en 1981 por el Grupo de Cálculo Simbólico de la Universidad de Waterloo en Waterloo, Canadá. Su nombre proviene de MAthematic PLEasure. Desde 1988 ha sido mejorado y vendido comercialmente por Waterloo Maple Inc. (también conocida como Maplesoft). Maple es un programa matemático de propósito general capaz de realizar cálculos simbólicos, algebraicos y de álgebra computacional. Este software puede usarse como una calculadora numérica y simbólica. Esto significa, por un lado, que produce resultados exactos (hay que hacer operaciones con números extraordinariamente grandes para que rebase su capacidad de procesamiento numérico). Por otro lado, una calculadora simbólica puede operar con símbolos, por ejemplo calcular derivadas, integrales, polinomios de Taylor, etc. Esta herramienta informática también permite manipular figuras geométricas. Maple presenta al usuario una interfaz con ventanas que se pueden operar al igual que cualquier ventana de Windows. Los documentos se abren o archivan con los recursos operativos del entorno. Es posible cortar o copiar trozos de un archivo (por ejemplo en Word) e incluir en otros lo cortado o copiado anteriormente e, inversamente, exportar a ellos trozos de un archivo de Maple. También se pueden hacer hojas de animación de gráficos, esto es, gráficos que se muevan, a la manera de los dibujos animados. 1.2- Aspectos a tener en cuenta para comenzar a trabajar Se puede acceder al motor computacional de Maple a través de una variedad de interfaces. En esta guía sólo se describe cómo usar la interfaz estándar siendo ésta una interfaz gráfica que ofrece todas las funciones para crear documentos electrónicos que permiten mostrar los cálculos con cualquier margen de error en los resultados y también posibilita ocultarlos para permitir al usuario centrarse en el problema o los resultados finales. Esta interfaz ofrece dos modos de trabajo: modo Documento y modo Hoja de Trabajo (worksheet). Por defecto, según la configuración (Herramientas → Opciones → Interfaz), cuando se inicia una sesión de Maple aparece una pantalla en blanco que se muestra en alguno de estos dos modos. Es posible abrir un nuevo documento desde el menú Archivo -> nuevo, seleccionando la opción de modo deseada. Usando cualquiera de las dos opciones se pueden crear documentos matemáticos interactivos de gran calidad. Cada uno de ellos brinda las mismas características y funcionalidades, con algunas diferencias en cuanto a la entrada de expresiones y su visualización. En cualquiera de los dos casos, para cambiar el tipo de entrada de expresiones de matemáticas a texto o viceversa, se debe pulsar la tecla [F5] o bien seleccionar alguna de estas dos opciones: Texto o Matemáticas que se muestran en los botones que figuran en la barra de contexto (Figura 1). En la parte superior de la pantalla se encuentran, además de la barra de menú (común en la mayoría de los programas), las denominadas barra de herramientas y la recién nombrada barra de contexto. Existe una zona central en la que se ingresan sentencias y comandos (input) y el programa devuelve las respuestas (output) que se muestran en color azul. Mgr. Patricia Có - Prof. Erica Panella 2 Barras de menú, de herramientas y de contexto Zona central Barra de contexto Paletas Figura 1 En la parte inferior de la pantalla está la barra de estado, que indica en qué estado se encuentra la ejecución de una orden. A la izquierda de la pantalla se puede ver un menú vertical de botones que se despliegan abriendo un cuadro de diálogo, constituyen distintas paletas que Maple ofrece para simplificar el trabajo de introducir expresiones. Estas paletas pueden organizarse y mostrarse según las preferencias de cada usuario a través del menú Ver → Paletas. Por ejemplo, para editar una matriz hacemos clic sobre el botón diálogo que permite seleccionar el número de filas y de columnas de la matriz: desplegándose un cuadro de A continuación presionamos el botón inferior Insertar Matriz. En el área de trabajo se visualiza la matriz seleccionada en la que podemos ingresar sus elementos pasando de uno a otro con la tecla TAB o posicionándonos con el cursor. La matriz queda definida accionando la tecla ENTER o INTRO. Una paleta es un conjunto de botones que representan diversos ítems como símbolos predefinidos, expresiones, operadores, matrices y vectores. Clickeando los botones que se encuentran en las paletas, se puede ingresar o editar expresiones matemáticas sin necesidad de recordar la sintaxis de Maple para realizar esa acción. Maple proporciona más de 20 paletas. Siguiendo con los ejemplos, la paleta Manuscrito nos permite dibujar “a mano”, con el mouse, un símbolo (“ ” por ejemplo), pedirle a Maple que lo coteje con los símbolos existentes en el sistema, reconocerlo e insertarlo en el área de trabajo (en la Figura 2 se puede apreciar el reconocimiento e inserción de ). Mgr. Patricia Có - Prof. Erica Panella 3 Figura 2 A través de la paleta Nube (Maple Cloud) es posible compartir hojas de trabajo de y con otros usuarios. Para ver como funciona vamos a inspeccionar algún tema de los que allí figuran, por ejemplo: distancia de un punto a una recta (seguramente el que hemos elegimos no se encuentra ahora disponible). Hay que tener en cuenta que para activar la aplicación, como indica la instrucción, hay que clikear el botón con el símbolo !!! de la barra de herramientas. Figura 3 Las paletas de Maple se dividen en: alfabéticas, de expresiones y matemáticas. Cada tipo se identifica con un color en el “triángulo” que permite desplegar el menú correspondiente a la paleta: verde, rojo y azul respectivamente. Dentro de la paleta de expresiones se encuentran, entre otras, la denominada Expresión que se utiliza para ingresar, por ejemplo, integrales y derivadas; las paletas Matriz y Manuscrito (ya mencionadas); Componentes permite incluir componentes simples, como por ejemplo un botón en la hoja de cálculo; Unidades (SI) sirve para insertar una unidad del sistema SI o cualquier otra unidad general de medida. Dentro de las paletas matemáticas se hallan la de Símbolos Comunes, Relacionales y Operadores que ofrecen, como sus nombres indican, símbolos, relaciones y operadores que se utilizan para construir expresiones (Figuras 4 y 5), Grandes Operadores muestra operadores como sumatoria, productoria, unión, intersección, Mgr. Patricia Có - Prof. Erica Panella 4 integrales dobles, triples y de línea, etc. (Figura 6). Dentro de este tipo, están también las paletas Negación, Flechas, Puntuación y Misceláneo. Figura 4 Figura 5 Figura 6 Algunas consideraciones Las expresiones matemáticas como 2 x se introducen naturalmente, utilizando la paleta correspondiente, como con lápiz y papel, y se conocen en Maple como notación matemática 2-D. Si se quiere realizar comentarios en la línea de entrada de comandos, éstos se escriben a continuación del símbolo # y aparecen en color negro. Hay que tener especial cuidado en copiar correctamente los comandos. Maple distingue mayúsculas de minúsculas por lo que se debe prestar atención al utilizarlas. Si al terminar una orden escribimos el signo “:” (dos puntos), la misma se ejecuta pero no aparece respuesta en pantalla, en cambio si sólo pulsamos ENTER, Maple muestra la respuesta en color azul. Para utilizar la ayuda de Maple se puede escribir “?” en la línea de escritura, accionarlo en la barra de herramientas o recurrir a la tecla de ayuda (F1). 1.2.1- Asignación de nombres Para agilizar y hacer más operativa la tarea es conveniente nombrar significativamente a las variables definidas. Los nombres se asignan de la forma nombre := expresión a asignar. Es posible guardar el resultado de una operación en una variable y luego recuperarla escribiendo su nombre. Por ejemplo, si queremos ingresar una función y luego utilizarla en otro momento de la sesión de trabajo, podemos proceder de la siguiente forma: > > Mgr. Patricia Có - Prof. Erica Panella 5 1.2.2- Definición de funciones Las funciones matemáticas en Maple se representan mediante operadores. Existen distintas formas de introducir una función, veamos cómo utilizarlas tomando como ejemplo la función f ( x) x 2 1 : Atención: Resulta conveniente que al terminar de definir una función, en este caso f , escribir por ejemplo f (2) y presionar Enter para comprobar su correcta introducción. A partir de una plantilla en la paleta Expresión: Seleccionamos la plantilla . La está resaltada automáticamente. Escribimos f en su lugar (el nombre de la función) y movemos luego el cursor al siguiente marcador de posición utilizando la tecla Tab . Se seleccionará automáticamente la . Escribimos x (variable independiente) y luego nos movemos hasta la (variable dependiente), escribimos x 2 . Después de introducir el exponente, presionamos la tecla introducir la resta. para volver el cursor a la línea de base de escritura y terminamos de Finalmente presionar Enter . A partir de los operadores de Maple: Introducirnos la siguiente expresión en la línea de escritura . Recordemos que el operador “:= ” asigna el contenido que está a la derecha del signo “=” al nombre de variable que se escribe a su izquierda. Presionamos luego Enter para ejecutar la sentencia. Convirtiendo una expresión existente en un operador: Escribimos la expresión x 2 1 (estando en el Modo Documento de Maple), y luego nos posicionamos sobre cualquier parte de la misma y hacemos clic con el botón derecho del mouse. Esto desplegará un menú contextual. Seleccionamos del mismo: Conversions → Operator → Aparecerá en pantalla: . Nos posicionamos sobre cualquier parte de la salida (en color azul) y nuevamente desplegamos un menú contextual. Elegimos Assign to a Name y luego escribimos el nombre de la función ( f en este caso) en el cuadro de diálogo que aparece. Presionamos el botón OK. En pantalla podrá verse: Mgr. Patricia Có - Prof. Erica Panella 6 En todos los casos, si queremos recuperar la ley de f debemos ingresar f(x) seguido de Enter. En la Tabla 1 se presenta un ejemplo de los comandos a utilizar para definir, para evaluar y para graficar una función dependiendo de la forma en que la misma haya sido definida: Operaciones Definición Evaluación de f en P(1,2) Gráfico 3-D en el dominio [0,1] x [0,1] Función ingresada a partir de una expresión Función ingresada a partir de un operador f := x^2 + y^2; g := (x,y) -> x^2+y^2; eval(f, [x=1,y=2]) g(1,2) 5 5 plot3d(f,x=0..1,y=0..1) plot3d(g(x,y),x=0..1,y=0..1) Tabla 1 1.2.3- Utilización de paquetes Maple tiene diversos paquetes de comandos y funciones específicas, que deben ser cargados en el momento en que se los necesite. Por ejemplo, el paquete utilizado en Álgebra Lineal es Linear Algebra, el especializado en la visualización de representaciones gráficas es Plots, etc. Todos ellos reposan sobre estructuras de datos que no desarrollaremos específicamente en el presente texto. La forma de cargar estos paquetes es mediante la orden with (nombre del paquete): En las versiones más recientes de Maple es posible cargar y descargar paquetes directamente dando la orden desde la opción herramientas de la barra de menú, tal como se ve en la figura siguiente: Figura 7 1.2.4- Creación de un documento dividido en secciones Puede resultar conveniente y más organizado, sobre todo a la hora de diseñar material didáctico, dividir un documento en secciones. A continuación se detalla la forma de realizarlo: Ir al menú Insertar de la barra de menú y seleccionar la opción Sección. Se visualizará en pantalla un triángulo seguido de una línea que indica el comienzo y fin de la sección. Posicionarse al lado del triángulo Mgr. Patricia Có - Prof. Erica Panella 7 para agregar un título a la sección (Figura 8). A continuación del título dar un Enter y comenzar a escribir los comandos de Maple a utilizar. Dentro de cada sección se pueden crear subsecciones. Para definir una subsección ir al menú Insertar y seleccionar Subsección. En la Figura 8 se muestra un ejemplo con tres subsecciones definidas para la Sección 1. Observar que los títulos de secciones y subsecciones corresponden al tipo texto y no a entradas ejecutables de Maple. Figura 8 Es posible cambiar el estilo de la fuente utilizada en títulos de secciones y subsecciones (por defecto son Heading 1 y Heading 2 respectivamente y figuran en la barra de contexto) a través del menú Formato o directamente utilizando los botones que indican tipo de letra, tamaño, color, etc. de la barra de contexto. En las Figuras 9 y 10 se muestran algunos pasos sucesivos para cambiar el tamaño y el color del título de sección utilizando cualquiera de los dos recursos mencionados. Es conveniente que el lector “juegue” a combinar colores y estilos para familiarizarse con las diferentes apariencias que puede adoptar un documento. Mgr. Patricia Có - Prof. Erica Panella 8 Figura 9 Figura 10 Finalmente, es posible definir secciones y subsecciones, así como eliminarlas, a través de los dos íconos que figuran en la barra de herramientas del programa: Mgr. Patricia Có - Prof. Erica Panella 9 1.3- Operaciones matemáticas En la siguiente tabla se muestran algunas de las operaciones matemáticas más frecuentes: Manipulaciones comunes (simplificar, factorizar, expandir, extraer factor común, Hacer click con el botón derecho sobre la expresión algebraica previamente ingresada y seleccionar en el menú completar cuadrado, etc.). contextual la opción deseada. Resolución de ecuaciones. Menú contextual: Solve. Integración, derivación. Menú contextual: Integrate or Differentiate Valor numérico de una expresión. Menú contextual: Evaluate at a Point. Inversión, trasposición, determinante, traza de una matriz. Habiendo ingresado previamente una matriz, Hacer click con el botón derecho y seleccionar: Standard Operations, luego elegir alguna de estas opciones: Inverse, Transpose, Determinant, Trace. Evaluación aproximada de una expresión numérica. Menú contextual: Approximate y luego seleccionar el número de dígitos. Operaciones y tareas diversas. Ir al menú Herramientas → Tareas→ Examinar. Tabla 2 En la mayoría de los casos existe la posibilidad de, además de poder utilizar el botón derecho del mouse y el menú contextual como se describe en la tabla anterior, ingresar el comando seguido de la expresión algebraica sobre la que debe actuar. En ambos casos se produce el mismo resultado. Veamos, por ejemplo el comando expand(expr) que permite desarrollar una expresión algebraica, aplicando reglas de productos y potencias, propiedades de funciones trigonométricas, simplificar resultados, etc.; y el comando simplify(expr), que posibilita simplificar expresiones algebraicas: Figura 11 Mgr. Patricia Có - Prof. Erica Panella 10 2 Gráficos con Maple 2.1 - Introducción Maple posibilita la representación de cualquier función matemática, incluso si está definida a trozos o tiene saltos al infinito. También permite graficar curvas definidas en formas implícitas, explícitas, en coordenadas paramétricas o polares, tanto en el plano como en el espacio. Es factible la realización de gráficos estadísticos, como ser: de barras, de líneas, histogramas, así como polígonos, poliedros y otras figuras geométricas. La mayoría de las gráficas que muestra Maple, como ocurre con otros sistemas algebraicos computacionales, no reproducen en forma exacta la imagen de una curva, sino que dan una idea bastante aproximada de su comportamiento. Es posible mejorar la calidad de dichas representaciones utilizando las opciones que brindan los comandos gráficos como color, escala, ubicación de los ejes, etc. Algunas de ellas se verán en los ejemplos propuestos. 2.2. Consideraciones generales sobre gráficos No es nuestra intención mostrar todos los recursos gráficos que posee Maple, sólo veremos algunos a través de ejemplos sencillos a partir de los cuales el lector puede ir descubriendo otras aplicaciones. Para obtener la gráfica de la función y=x2, escribimos la orden plot(x^2) en la línea de escritura La pantalla se ve como en la figura siguiente y se llama gráfico en línea. Figura 12 Si cliqueamos sobre la gráfica aparece un recuadro y una barra de herramientas llamada barra Gráfica, como la siguiente: Si observamos la parte superior derecha de la pantalla vemos que aparece una tecla de la forma Mgr. Patricia Có - Prof. Erica Panella . Si la 11 accionamos nos permitirá visualizar en la pantalla una barra de Dibujo tal como se muestra a continuación: En ambos casos se ofrecen diferentes opciones de graficación y resulta conveniente ir probando cada una de ellas. Existe otra opción para mostrar gráficos que produce una ventana independiente y se consigue desplegando el botón Herramientas de la barra, siguiendo por Opciones, luego Ver(D), continuado con Mostrar Gráficos, y por último seleccionado Ventana. Figura 13 Una vez conseguida la ventana correspondiente a la gráfica pedida, es posible realizar cambios en su diseño como en la opción en línea. Figura 14 Mgr. Patricia Có - Prof. Erica Panella 12 Opciones rápidas para cambiar la apariencia de un gráfico Veamos algunas opciones rápidas e interesantes que brinda el programa utilizando directamente el botón derecho del Mouse, como se muestran a continuación: o Nombrar a los ejes coordenados: > Figura 15 o Agregar título y leyenda a una gráfica: > Podemos nombrar a cada una de las gráficas recién ingresadas posicionando el mouse sobre la imagen que devuelve el programa, accionado luego el botón derecho sobre una gráfica en particular (que aparecerá engrosada), luego eligiendo Legend y a continuación Añadir Leyenda. Al repetir el mismo procedimiento, el lugar de Añadir Leyenda, podemos Editar Leyenda y escribir el nombre que queremos. Esta acción se debe repetir para cada una de las gráficas. Figura 16 Mgr. Patricia Có - Prof. Erica Panella 13 o Escribir títulos, referencias sobre la gráfica, cambiar color y grosor > Figura 17 Como podemos ver existen múltiples opciones que se pueden agregar a una gráfica, sólo es cuestión de probar cada una de ellas. 2.3. Gráficos en el plano: Coordenadas Cartesianas 2.3.1. Curvas definidas explícitamente El comando plot(f(x), x=a..b,opciones) permite obtener representaciones gráficas de funciones reales de variable real definidas explícitamente mediante una expresión del tipo y = f(x). Donde: f es una función real de variable real x. x=a..b especifica el dominio de la variable independiente, esto es: x toma los valores entre a y b. Las opciones de graficación son alternativas, por ejemplo se puede indicar que se muestre sólo un intervalo de la imagen que resulte conveniente, esto es escribir: y=c..d, eligir color, escalas, puntos de vista, etc. Veamos algunos ejemplos con distintas opciones: 1. > plot(x^2+3*x-1,x=-2..5,color=green); plot(x^2+3*x-1,x=-5..5,y=-4..10); 2. Es posible visualizar dos o más gráficas simultáneamente ingresando las expresiones que las definen, como así también las opciones, entre corchetes o llaves dentro del comando plot: > plot({sin(x),cos(x)},x=-2*Pi..2*Pi,color=[green, blue]); > plot({x^2,x^2-4,(x-4)^2},x=-4..8,y=-4..4); 3. Queremos definir y obtener la representación gráfica de una función definida a trozos, por ejemplo: 1 2 x f 1( x) 4 2 x si x 0 si 0 x 1 si x 1 si x 1 Ingresamos la sentencia que define a la función, por medio del comando picewise, con el nombre de f1 (luego podremos llamarla con este nombre a lo largo de toda la sesión de trabajo) Mgr. Patricia Có - Prof. Erica Panella 14 > f1:=x->piecewise(x<=0,-1,x<1,x^2,x=1,4,2*x); Obtenemos como respuesta: f1 := xpiecewise( x0, -1, x1, x 2, x1, 4, 2 x ) Si queremos ver como quedó definida escribimos: > f1(x); x0 -1 2 x 4 2x x1 x1 otherwise Por último, su representación gráfica se obtiene mediante la orden: > plot(f1(x),x=-2..3); Podemos observar que Maple no interpreta que la función es discontinua. Para que realice la gráfica en forma correcta, es decir que se visualicen la o las discontinuidades de la función ingresada, es necesario agregar la opción: discont=true, como se expresa a continuación: > plot(f1(x),-2..3,discont=true); Si queremos obtener valores particulares de la función, podemos hacerlo directamente pidiendo el cálculo de f1 en el valor indicado, por ejemplo: > f1(1); 4 ¿Son correctos los valores que Maple le asigna a la función en los puntos de discontinuidad? 2.3.2.Curvas definidas implícitamente El comando implicitplot(f(x,y),x=a..b,y=c..d,opciones) permite obtener representaciones gráficas de curvas definidas en forma implícita, cargando previamente el paquete plots.. Donde: f es una función definida implícitamente en las variables x e y. x:=a..b, y=c..d determinan los extremos de los intervalos de variación respectivamente. de las variables x e y Las opciones son análogas a las del comando plot. Veamos algunos ejemplos: 1. Obtener la representación gráfica de una ecuación de segundo grado en las variable x e y. > with(plots): implicitplot(x^2+y^2=4,x=-2..2,y=-2..2); Puede ser que en la pantalla no se vea una circunferencia. Para mejorar esta situación podemos hacer click sobre el icono de la barra de menú que aparece al posicionarnos sobre el gráfico obtenido. 2. Analizar la ecuación de segundo grado x 4 x y 6 y 8 0 . 2 2 Si pedimos su representación gráfica en un dominio cualquiera, puede ocurrir que la gráfica aparezca "vacía", Mgr. Patricia Có - Prof. Erica Panella 15 como se ve si aplicamos la siguiente sentencia: > implicitplot(x^2-4*x+y^2+6*y+8=0,x=0..10,y=0..10); No podemos afirmar aún que se trate del conjunto vacío, veamos qué pasa en otros intervalos: > implicitplot(x^2-4*x+y^2+6*y+8=0,x=-10..10,y=-10..10); Como la gráfica no es muy buena, para mejorarla podemos ajustar los intervalos de definición de las variables, como por ejemplo: > implicitplot(x^2-4*x+y^2+6*y+8=0,x=-1..5,y=-6..1); Si nos interesa, podemos completar cuadrados utilizando el comando completesquare, habiendo cargado previamente el paquete student. > with(student):completesquare(x^2-4*x+y^2+6*y+8=0,x); ( x2 )24y 26 y0 > completesquare(%,y); ( y3 )25( x2 )20 Finalmente vemos que se trata de una circunferencia de centro (-3,2) y radio 5. Maple posee el comando llamado conic dentro del paquete geometry que permite definir una cónica según los datos ingresados, por ejemplo: puntos, directriz, foco, excentricidad, etc. Dentro del mismo paquete se encuentran otras dos órdenes: form y detail que, respectivamente clasifican y dan a conocer detalles de la ecuación de segundo grado ingresada (como ser foco, vértices, directriz, excentricidad, etc.), aún si se trata de un caso de cónica degenerada. Veamos un ejemplo: Figura 17 Mgr. Patricia Có - Prof. Erica Panella 16 2.4. Animación de curvas en el plano Una animación en Maple es una secuencia de gráficos mostrados rápidamente que producen la sensación visual de movimiento. El comando que permite dar animación a un gráfico es animate(f(x,t),x=a..b,t=c..d, options) que se encuentra en el paquete plots. El mismo realiza una animación bidimensional de la curva y = f(x) con x variando en el rango dado, presentándola (por defecto) 16 veces según valores de la variable t, que varía en el rango especificado a intervalos igualmente espaciados. Dentro de las opciones podemos elegir: frames=n (si se omite por defecto es 16), establece el número de veces que se presentará la gráfica durante la animación. numpoints=n especifica el mínimo números de puntos que generarán la gráfica (por defecto es 50). Cuando utilizamos el comando animate y clickeamos con el mouse sobre la gráfica, se despliega una ventana de animación, en la que aparecen una serie de teclas de acción directa que permiten diferentes opciones en el movimiento. Recomendamos probar que función cumple cada una de ellas en los siguientes ejemplos: > with(plots): animate(t*x^2,x=-5..5,t=-1..1,frames=100); Figura 18 2.5. Representaciones de regiones planas Sólo por mostrar algunas opciones más que brinda el programa, vamos a ver a través de unos pocos ejemplos, como se pueden realizar gráficos animados, de regiones planas determinadas por un sistema de inecuaciones lineales. 1. Obtener la representar gráfica de la región del plano delimitada por las siguientes desigualdades: x y 3 2 y x 6 3x 2 y 5 y x 8 >with(plots): >inequal({x+y>3,2*y-x<6,3*x+2*y>5,-y+x<=8},x=-10..30,y=-10..15,color=red); 2. Por medio de una animación gráfica visualizar el punto que perteneciendo al conjunto A maximiza la función Mgr. Patricia Có - Prof. Erica Panella 17 G(x, y)= x + 2 y. Siendo A = { x+ y 10; x-y+5>=0; x 0; y 0 }. Para ello ingresamos las siguientes sentencias: > with(plots): >inequal({x+y<=10,x-y+5>=0,x>=0,y>=0},x=-10..15,y=-10..15,color=blue, optionsexcluded=(color=pink,thickness=2)); >display({inequal({x+y<=10,x-y+5>=0,x>=0,y>=0},x=-10..15,y=-10..15, color=blue,optionsexcluded=(color=pink,thickness=2)); >animate((-x+t)/2,x=-10..15,t=0..17.5,frames=100,color=red)}) ; 2.6. Gráficos en el espacio: Coordenadas Cartesianas Los comandos que se utilizan para realizar gráficos en tres dimensiones son similares a los que acabamos de ver para gráficos bidimensionales, pueden cambiar algunas opciones que veremos en los ejemplos planteados. Vamos a construir y analizar gráficas de funciones de 2 variables definidas o no implícitamente, esto es funciones de la forma z = f (x,y) o f (x,y,z) = 0. Para obtener las gráficas de funciones dadas en forma explícitas podemos usar uno de los dos comandos que siguen: >plot3d (f(x,y),x=a..b,y=c..d); permite obtener la gráfica de la superficie z= f(x,y) para los rangos de x e y dados. >plot3d (f(x,y),x=a..b,y=c..d,z=e..f); cumple la misma función que el comando anterior, pero además permite definir la variación de la variable z. Si queremos obtener gráficas de funciones definidas implícitamente, usaremos el comando implcitplot3d, habiendo cargado previamente el paquete plots. >implicitplot3d(f(x,y,z)=0, x=a..b,y=c..d,z=e..f, opciones); permite obtener la gráfica de una superficie definida implícitamente, para los rangos de las variables x, y ,z dados. En los ejemplos que se muestran a continuación veremos algunas opciones que brinda el programa: 1- Cilindro circular de eje paralelo al eje z Introduciendo los siguientes comandos: > with(plots): c:=x^2+y^2=16: implicitplot3d(c,x=-4..4,y=-4..4,z=-3..3); Aparecerá una pantalla semejante a: Mgr. Patricia Có - Prof. Erica Panella 18 Figura 19 Si accionamos el mouse sobre la gráfica, en la última línea de la barra de menú aparecen dos ángulos: y , y algunos comandos representados por íconos, que como sabemos, provocan que Maple cambie el “estilo” de la gráfica seleccionada. Por defecto, cada uno de los ángulos tiene un valor de 45º. Los valores que toman estos ángulos indicarían la posición del “ojo del observador”. Podemos modificar los valores de estos ángulos si queremos observar la gráfica desde otro punto de vista. El mismo efecto de rotación se produce cuando mantenemos presionado el mouse sobre la gráfica y lo arrastramos en la dirección deseada. Resulta interesante determinar los valores que asumen los ángulos y , cuando se pretende visualizar la proyección de la superficie sobre cada uno de los planos coordenados. Otras opciones rápidas de ejecutar sobre la gráfica, tal como vimos para gráfico en dos dimensiones, resultan de presionar el botón derecho del mouse sobre la misma. Al realizar esta acción es posible modificar significativamente la apariencia del gráfico, como por ejemplo: elegir textura, color, luminosidad, nombrar a los ejes coordenados, cambiarles el color o la escala, etc. Siguiendo con el mismo ejemplo, vamos a buscar gráfica y analíticamente las intersecciones del cilindro con los planos coordenados, para ello necesitaremos cargar el paquete student. Intersección con el plano XY: > with(student): p1:=z=0; El comando que nos da la intersección del cilindro c con el plano p1 es: > intercept(c,p1,{x,y,z}); { xRootOf( _Z216y 2 ), yy, z0 } Para explicitar los valores que muestra la pantalla, utilizamos el comando: > allvalues(%); { yy, x 16y2 , z0 }, { yy, x 16y2 , z0 } Podemos observar que se trata de una circunferencia contenida en el plano XY. Mgr. Patricia Có - Prof. Erica Panella 19 Si queremos visualizar las dos superficies juntas, esto es el plano p1 y el cilindro c, podemos lograrlo mediante la orden: > implicitplot3d({c,p1},x=-5..5,y=-4..4,z=-3..3); Si rotamos la figura de modo conveniente y usamos algunas opciones gráficas, podemos observar la circunferencia resultante de la intersección planteada. Intersección con el plano XZ: > p2:=y=0; > intercept(c,p2,{x,y,z}); { x-4, zz, y0 }, { x4, zz, y0 } La respuesta muestra a las ecuaciones de dos rectas paralelas al eje Z. Es posible obtener las gráficas de estas rectas mediante los siguientes comandos: > with(geom3d): plot3d({[4,0,z],[-4,0,z]},x=-5..5,z=-5..5); 2. Esfera y paraboloide Es posible obtener gráficas de dos o más superficies simultáneamente, para lograrlo debemos escribir las ecuaciones entre corchetes: >implicitplot3d([x2+y2 +z2=16,x2+y2=z],x=-5..5,y=-5..5,z=-4..8, numpoints=5000,labels=[x,y,z]) La opción numpoints hace que se grafique un número determinado de puntos (más que por defecto) para obtener una mejor visualización. Figura 20 En esta ocasión utilizamos la opción transparencia para ver el interior de una de las superficies. Mgr. Patricia Có - Prof. Erica Panella 20 2.7. Gráficas de curvas dadas por sus ecuaciones paramétricas Desarrollaremos este tema basándonos en un material de clase correspondiente a la asignatura Análisis Matemático II, disponible en la plataforma virtual de la Facultad de Ciencias Exactas, Ingeniería y Agrimensura (FCEIA): http://c-virtual.fceia.unr.edu.ar/ o en la sección Archivos correspondiente a la Clase 4. La intención es, además de tratar los temas mencionados, mostrar las posibilidades que ofrece Maple para crear archivos de trabajo de fácil y rápida utilización, utilizando alguno de los comandos ya descriptos. Esta forma de trabajo resulta particularmente útil cuando se prioriza la utilización del software con un objetivo didáctico claramente definido por el docente, en lugar de aprender una serie de instrucciones o de utilizarlo como una simple calculadora-graficadora. A continuación mostramos la pantalla que Maple ofrece al abrir el archivo seleccionado (la ruta a seguir es: http://c-virtual.fceia.unr.edu.ar/, usuario: lbasica, contraseña: rosario, Laboratorio de Matemática, Archivos, Análisis Matemático II, Curvas en el espacio 2012.mw1). Figura 21 Si desplegamos, haciendo clic en el triángulo gris, la subsección titulada “Gráfica de curvas dadas por ecuaciones paramétricas” accederemos a un breve contenido teórico y a los comandos de Maple necesarios para trabajar en este tema, como se muestra en la siguiente figura: Figura 22 Se pueden desplegar todas las secciones del archivo para acceder al material completo. 1 Colaboración: Mgtr. Patricia Có. Mgr. Patricia Có - Prof. Erica Panella 21 En el menú Herramientas->Tutoriales, existen dos tutoriales Cálculo en una variable y Cálculo vectorial que permiten, dentro de algunas de las opciones que ofrecen, obtener varios de los resultados que obtuvimos en el archivo anterior, de manera más rápida y sencilla. 2.8. Gráficas de curvas dadas en coordenadas polares Seguiremos trabajando con otro material de la misma asignatura, en este caso para obtener gráficas en coordenadas polares. El nombre del archivo que contiene esta actividad es: AMII - Coordenadas Polares.mw2. A continuación se muestra una pantalla con alguna sección desplegada: Figura 23 2.9. Otros ejemplos de diseños didácticos colaborativos con apoyo en las TICs Mostramos a continuación ejemplos de materiales de enseñanza diseñados para ser usados en un entorno de aprendizaje colaborativo. Estas propuestas, referidas a ecuaciones de segundo grado3, superficies y curvas en el espacio4 y representaciones geométricas4, pueden consultarse el la sección archivos de la Clase 4. A modo de ejemplo parte de una pantalla correspondiente al archivo Representaciones: 2 Colaboración: Prof. Ana Sadagorsky, Prof. Erica Panella. Colaboración: Prof. Mónica del Sastre, Prof. Erica Panella y Mgtr. Patricia Có. 4 Colaboración: Mgtr. Raúl Katz, Mgtr. Patricia Có. 3 Mgr. Patricia Có - Prof. Erica Panella 22 Figura 24 Mgr. Patricia Có - Prof. Erica Panella 23 3 Cálculo Diferencial con Maple 3.1 Diferenciación en una o varias variables Maple permite calcular derivadas y derivadas parciales de funciones de una o varias variables a través del operador diferencial D o por medio del comando diff utilizándolos de la siguiente forma: D(función) D(función)(num) diff(exp,var) diff(exp,var$n) (D@@n)(función) Representa el operador diferencial de la función o expresión funcional dada. Halla la derivada de la función en el punto num. Da la derivada de la expresión dada respecto de la variable especificada. Da la derivada de orden n de la expresión dada respecto de la variable especificada. Da la derivada enésima de la función Si optamos por usar el comando diff, lo aplicamos directamente sobre la expresión de la función que queremos derivar, indicando después de la “,” la variable de derivación: >diff(log(sin(2*x)),x) Si preferimos usar el operador D, debemos definir primero la función y luego aplicarle el mismo: >L:=x->log(sin(2*x)) >D(L)(x) También se puede utilizar la paleta Expresión, ubicada a la izquierda de la pantalla, de modo que resulte más sencilla la escritura del comando: Figura 25 Para fines didácticos, en ciertos casos resulta conveniente observar los pasos de derivación. Esto se logra cargando el paquete Student[Calculus1] seguido de la orden DiffTutor. Esta acción permite ver, en una ventana secundaria, los pasos de derivación de uno a la vez, o todos juntos hasta obtener el resultado final. También se pude indicar qué forma de derivación utilizar, de no hacerlo el programa derivará por defecto. Veamos cómo funciona con un ejemplo: >with(Student[Calculus1]): >DiffTutor(ln(x)*cos(x)) Mgr. Patricia Có - Prof. Erica Panella 24 Figura 26 3.2 Algunas Aplicaciones 1- Recta Secante y recta Tangente a la gráfica de una función en un punto dado. Maple contiene dentro del paquete Student[Precalculus] dos funciones de particular interés: FunctionSlopeTutor y FunctionSlopePlot, por medio de las cuales es posible observar en forma animada sobre la gráfica de una función dada, el desplazamiento de las rectas secantes hacia la recta tangente en un punto de la gráfica. FunctionSlopeTutor además de dibujar y animar las rectas secantes aproximándose a la recta tangente, estima las pendientes de todas ellas y muestra la ecuación de la recta tangente, como se ve en la siguiente pantalla: Figura 27 FuncionSlopePlot grafica en forma animada las sucesivas rectas secantes que se aproximan a la recta tangente en el punto indicado. Por defecto aparece una leyenda que da algunas especificaciones, por ejemplo: Mgr. Patricia Có - Prof. Erica Panella 25 Figura 28 ¿Qué ocurre si pedimos que aplique FunctionSlopeTutor a la función valor absoluto en x=0? 2. Polinomios de Taylor Maple cuenta con diferentes opciones que permiten obtener aproximaciones polinómicas de funciones en un entorno de un punto en el que dicha función sea diferenciable. Una de ellas es a través de la orden: convert(taylor(expresión,x=a,n+1),polynom). Donde: expresión indica una expresión algebraica en la variable x. x=a constante real. n+1entero no negativo, indica un orden más del polinomio que queremos obtener Otra opción es por medio del comando: TaylorApproximation(f(x), c,view= [a..b,c..d], opts) (se encuentra dentro del paquete Student[Calculus1]). Donde: f(x) indica una expresión algebraica en la variable x. c constante real alrededor de la quiere obtener el desarrollo. a..b especifica el rango de graficación. opts opciones: orden de desarrollo, titulo, punto de vista, salida gráfica o animada, etc. Veamos un ejemplo en el que se muestran los dos procedimientos: Encontrar todos los polinomio que coincidan con f(x) = ex y sus derivadas hasta el orden 5 en x =0. Obtener en una misma pantalla las representaciones gráficas de la función y los polinomios. o Con la orden: convert(taylor(expresión,x=a,n+1),polynom) Mgr. Patricia Có - Prof. Erica Panella 26 Figura 29 o Con la orden: TaylorApproximation(f(x), c,view= [a..b,c..d], opts) Figura 30 Si en la orden anterior escribimos output=animation en lugar de plot, veremos una pantalla animada. También podemos visualizar aproximaciones polinómicas por medio de un Tutorial desarrollado para este fin. Para acceder al mismo desplegamos el botón Herramientas(T) (ubicado en la barra superior de la pantalla), y luego seleccionamos: Cálculo en una variable -> Aproximación de Taylor Mgr. Patricia Có - Prof. Erica Panella 27 Figura 31 Se abrirá una pantalla en la que se puede elegir la función, grado, etc. Cada pantalla muestra un polinomio y es posible ver la aproximación en forma animada, seleccionado el botón Animate: Figura 32 3. Estudio de funciones Veamos cómo aplicar algunos de los comandos ya vistos en el estudio de una función, por ejemplo: r ( x) 1 x x 3 Para ello, proponemos hallar: a) dominio, paridad, asíntotas b) máximos y mínimos c) intervalos de crecimiento y decrecimiento Mgr. Patricia Có - Prof. Erica Panella 28 d) puntos de inflexión e) intervalos de concavidad y convexidad f) gráfica Para ello: a) Ingresamos la función a estudiar: >r:=x->1/(x^3-x) Para hallar el dominio y las asíntotas verticales buscamos los ceros del denominador >solve(x^3-x,x) Para analizar la paridad ingresamos la siguiente sentencia que tiene forma de pregunta: >is(r(x)=-r(-x)) La respuesta si la afirmación es verdadera o falsa. Si queremos determinar las asíntotas verticales, tomamos los límites laterales correspondiente, por ejemplo: >limit(r(x),x=-1,left);limit(r(x),x=-1,right) Para determinar si existen asíntotas horizontales calculamos los límites infinitos: >limit(r(x),x=infinity);limit(r(x),x=-infinity) b) Para hallar máximos y mínimos, buscamos los puntos críticos y analizamos el signo de la derivada segunda en los mismos: >diff(r(x),x) >solve(%) Los valores que aparecen en la pantalla son las abscisas de los puntos candidatos a ser máximos o mínimos y para clasificarlos calculamos el signo de la derivada segunda en cada uno de ellos: >eval(diff(diff(r(x),x),x),(x=-sqrt(3)/3)) >eval(diff(diff(r(x),x),x),(x=sqrt(3)/3)) c) Para encontrar los intervalos de crecimiento y de decrecimiento analizamos el signo de la derivada primera: >solve(diff(r(x),x)>0,x) >solve(diff(r(x),x)<0,x) Esta información permite verificar los resultados obtenidos en b). d) Para hallar los posibles puntos de inflexión buscamos los ceros de la derivada segunda y los puntos donde ésta no existe: >diff(diff(r(x),x),x) >simplify(%) >solve(%) e) Encontramos los intervalos de convexidad analizando el signo de la derivada segunda: >solve(diff(diff(r(x),x),x)>0,x); >solve(diff(diff(r(x),x),x)<0,x) Mgr. Patricia Có - Prof. Erica Panella 29 f) Puede resultar interesante visualizar la porción de la gráfica en donde la función sólo es creciente o sólo es decreciente, para ello ingresamos: Para ver sólo donde es creciente: >r11:=piecewise((x>=-1/3*sqrt(3) and x<=0or x>0 and x<=1/3*sqrt(3)),r(x),0) > plot(r11(x),x=-2..2,y=-10..10,discont=true) Para ver sólo donde es decreciente: >r12:=piecewise((x>-infinity and x<=-1 or x>-1 and x<=-1/3*sqrt(3))or (x>1/3*sqrt(3) and x<1) or (x>=1 and x<infinity),r(x),0) >plot(r12(x),x=-2..2,y=-5..5,discont=true,color=blue) Por último vamos a realizar la gráfica completa de la función, dibujando en distintos colores de acuerdo al crecimiento o decrecimiento de la misma. >plot([r11,r12],x=-2..2,y=-5..5,color=[red,blue],discont=true) 4. Análisis de diferenciabilidad Un ejemplo interesante para estudiar diferenciabilidad 3: x x 3 x 2 Dada la función f ( x) g ( x) 2 x 3 , determinar la función g tal que f no presente puntos angulosos en x 2 12 x 3 su dominio. Obtener las representaciones gráficas de f y de f ´. Como f es derivable y su derivada es continua en ,2 y 3, debemos encontrar una función g que cumpla las siguientes condiciones: * sea derivable con derivada continua en el intervalo (2,3) * g(2) = f(2) y g(3) = f(3) * g´(2) = f´(2) y g´(3) = f´(3) Para ello proponemos un polinomio de tercer grado de modo que g(x) = A x3 + B x2 + C x + D. Veamos cómo quedan las ecuaciones utilizando Maple: Probamos si están bien ingresadas estas funciones: 3 Colaboración Dr. Daniel Severin Mgr. Patricia Có - Prof. Erica Panella 30 Expresamos las igualdades antes propuestas: Para resolver el sistema dado por las 4 ecuaciones recién escritas utilizamos el comando solve: Redefinimos la función g para los valores recién obtenidos: Por último graficamos ambas funciones: Mgr. Patricia Có - Prof. Erica Panella 31 Figura 33 A través de la orden isdifferentiable(expresión,var,n,nombre) se puede analizar los puntos de no diferenciabilidad de una función. La expresión puede contener funciones definidas a trozos (piecewise), n indica si expresión es de clase Cn y la variable nombre (opcional) almacena la secuencia de puntos de no diferenciabilidad junto con su orden. Utilicemos este comando para analizar la diferenciabilidad de la función recién obtenida. Figura 34 5. Máximos y mínimos para funciones de varias variables Para encontrar máximos y mínimos de una función de varias variables es necesario resolver el sistema de ecuaciones que resulta de igualar a cero todas las derivadas parciales (además de ver dónde no existe cada una de ellas). Existe un comando, llamado hessian(función,[x1,x2,...,xn])), que permite calcular la matriz hessiana para luego evaluarla en cada punto crítico y así poder clasificarlo. Con Maple también es posible calcular el gradiente de una función de varias variable a través de la orden: grad(función,[x1,x2,..xn]). Tanto hessian como grad se encuentran en el paquete linalg. Veamos a través de algunos ejemplos cómo encontrar y clasificar los puntos extremos de la función: 120 x 3 30 x 4 18x 5 5x 30 x y 2 6 > f:=(x,y)->-120*x^3-30*x^4+18*x^5+5*x^6+30*x*y^2 Resolvemos el sistema homogéneo cuyas ecuaciones son las derivadas parciales de f: > solve({diff(f(x,y),x)=0,diff(f(x,y),y)=0},{x,y}) Mgr. Patricia Có - Prof. Erica Panella 32 { y0, x0 }, { y0, x0 }, { y0, x-2 }, { y0, x2 }, { y0, x-3 } Según la respuesta, los posibles extremos son: (0,0), (-2,0), (2,0), y (-3,0) Podemos llegar al mismo resultado igualando el gradiente al vector nulo: > with(linalg): > grad(f(x,y),[x,y]) [ 360 x2120 x390 x430 x530 y2, 60 x y ] > solve({-360*x^2-120*x^3+90*x^4+30*x^5+30*y^2=0, 60*x*y=0},{x,y}) { y0, x0 }, { y0, x0 }, { y0, x-2 }, { y0, x2 }, { y0, x-3 } Para clasificar los extremos utilizamos la función hessian, evaluamos la matriz en cada punto crítico y calculamos el determinante correspondiente: > H:=(x,y)->hessian(f(x,y),[x,y]) H := ( x, y )hessian( f( x, y ), [ x, y ] ) > H:=(x,y) > H1:=subs(x=-2,y=0,H(x,y)); det(H1)(es posible aplicar la función det con el botón derecho del mouse) -480 0 H1 := 0 -120 57600 Como en el punto (-2,0) el determinante es no nulo y el elemento (1,1) es negativo, resulta que f (-2,0) es un máximo relativo. Repitiendo el procedimiento para los restantes puntos críticos, llegamos a que f (2,0) es un mínimo y (-3,0) es de ensilladura. Como en el punto (0,0) el determinante es nulo no podemos llegar a ninguna conclusión. Existen otros comandos que permiten la optimización de funciones, como ser: maximize(expresión) o minimize(expresión), que permiten hallar el máximo o mínimo valor de la expresión dada respecto de todas sus variables. maximize(expresión,{var1,var2,...varn}) o minimize(expresión,{var1,var2,...varn}), que permiten encontrar el máximo o mínimo valor de la expresión dada respecto de la variable especificada. 6. Máximos y mínimos condicionados. El método de los multiplicadores de Lagrange Para calcular los valores máximos y mínimos de una función, por ejemplo f(x,y,z) sujeta a una restricción de la forma g(x,y,z)=k, es necesario realizar los siguientes pasos: f ( x, y, z ) g ( x, y, z ) g ( x, y , z ) k a) determinar los valores x, y, z, , tales que b) evaluar f es todos los puntos (x, y, z) que surjan del paso a) y clasificarlos. Mgr. Patricia Có - Prof. Erica Panella 33 Maple cuenta una función llamada extrema que puede ser usada para encontrar tanto los valores extremos de una función de varias variables, como las coordenadas de los puntos en los que se producen, utilizando el método de los Multiplicadores de Lagrange. Para utilizarlo se puede elegir entre las siguientes opciones: >extrema(expr,constraints) >extrema(expr,constraints,vars) >extrema(expr,constraints,vars, 's') Donde: expr función a optimizar constraints restricción o restricciones var variable o conjunto de variables s variable que devuelve las coordenadas de los puntos. Veamos ejemplos con una y dos restricciones: Hallar y clasificar los puntos extremos de la función: f ( x , y , z ) x z tal que x 2 y 2 z 2 1 > > > > Para saber si son máximos o mínimos, evaluamos f en estos puntos: > Figura 35 Determinar el valor máximo de la función h(x, y, z)= x + 2 y + 3 z en la curva de intersección del plano de ecuación x – y +z=1 con el cilindro x2 +y2=1. > > > > > Mgr. Patricia Có - Prof. Erica Panella 34 > ; Por lo tanto, el valor máximo de f en la curva dada es Figura 36 8. Derivadas direccionales y plano tangente Utilizamos una hoja de trabajo disponible en el link: http://c-virtual.fceia.unr.edu.ar/index.cgi?id_curso=140, (seleccionar luego Archivos -> Análisis Matemático II -> Derivadas Parciales y Plano Tangente), en la que se muestra cómo calcular derivadas direccionales, graficar planos tangentes a superficies y obtener gráficas que promuevan la comprensión de los conceptos. Figura 37 Proponemos analizar, por ejemplo, el ítem Derivadas parciales con respecto a una dirección dada. Mgr. Patricia Có - Prof. Erica Panella 35 4 Cálculo Integral con Maple 4.1 Integración en una o varias variables Maple permite calcular integrales simple, dobles y triples, indefinidas o definidas, de las combinaciones de la funciones más diversas (logarítmicas, exponenciales, racionales, trigonométricas, trigonométricas inversas, etc), empleando diversas métodos. Los comandos más utilizados son: int(f(x),x) Calcula la integral indefinida int(f(x),x=a..b) Calcula la integral definida int(int(f(x,y),x),y) Calcula la integral indefinida int(int(f(x,y),x=a..b),y=c..d) Calcula la integral definida f ( x) dx b a f ( x) dx f ( x, y) dx dy f ( x, y) dx dy b d a c Si optamos por usar el comando int (ya sea para integrales indefinidas o definidas), lo aplicamos directamente sobre la expresión de la función que queremos integrar, indicando después de la “,” la variable o los extremos de integración, respectivamente: > *observar que Maple no escribe la constante de integración* > También se puede utilizar, de la paleta Expresion, el símbolo f dx reemplazando f por la ley de la fun- ción a integrar. > > Maple calcula integrales en forma simbólica, por ejemplo : > Maple tiene una rutina muy poderosa para calcular integrales indefinidas o definidas a través del comando int. Tal como hicimos para derivar una función, es posible observar todos los pasos de integración a través del tutorial Métodos de Integración disponible en Herramientas -> Tutoriales ->Cálculo-En Una Variable. Por ejemplo: Mgr. Patricia Có - Prof. Erica Panella 36 Figura 38 Es aconsejable introducir otros ejemplos para conocer cómo muestra este tutorial las distintas técnicas y leyes de integración que ofrece. 4.2 Algunas Aplicaciones Resulta interesante analizar algunos comandos que Maple posee dentro del paquete Student. 1- Integral definida Veamos un ejemplo sobre la interpretación gráfica del cálculo del área de un "trapezoide curvilíneo" limitado por el segmento [a,b] del eje horizontal, las rectas verticales x = a y x = b, y la curva y = f(x): Supongamos que f es una función continua y positiva en el intervalo [a,b] y consideremos una partición del mismo, es decir un conjunto de puntos t 0 , t1 ,...t n tales que a t 0 t1 t 2 ... t n b . n A partir de esa partición definimos las sumas de Riemann f ( x )t i 1 i i t i 1 donde x i es un punto del intervalo t i 1 , t i . Claramente, cada sumando es el área del rectángulo de base t i t i 1 y de altura f ( xi ) . Finalmente si existe el límite de esas sumas cuando n tiende a infinito (independientemente de los puntos x i elegidos en cada intervalo) se dice que f es integrable, al valor del límite lo simbolizamos b a f ( x) dx , y por definición decimos que el área buscada es esa integral. Maple tiene tres comandos dentro del paquete student: leftbox, middlebox y rightbox que calculan las sumas de Riemann tomando como punto x i el extremo izquierdo, el punto medio o el extremo derecho de cada subintervalo respectivamente. Para ejemplificar, consideramos f ( x) x sin( x) y el intervalo 0, . > with(student): > leftbox(x*sin(x),x=0..Pi,20) En la sintaxis se indica en forma ordenada, la expresión de la función, el intervalo de integración y el número de subintervalos. Mgr. Patricia Có - Prof. Erica Panella 37 > middlebox(x*sin(x),x=0..Pi,20) > rightbox(x*sin(x),x=0..Pi,20) Podemos visualizar la expresión de la suma hasta el orden pedido, con los comandos leftsum, middlesum o rightsum, por ejemplo: > rightsum(x*sin(x),x=0..Pi,20) Para evaluarla (en forma exacta) usamos el comando value: > value(%) Para obtener un valor aproximado: > evalf(%) 3.135130356 Resulta interesante tomar el límite cuando n (nº de rectángulos) tiende a infinito, obteniendo así el valor exacto de la integral: > rightsum(x*sin(x),x=0..Pi,n) > limit(%,n=infinity) Comprobemos que obtenemos la misma respuesta por cálculo directo: > El Tutorial disponible en Herramientas -> Tutoriales ->Cálculo-En Una Variable-> Sumas de Riemann nos brinda la posibilidad, como se ve en la siguiente figura, de elegir función, extremos, puntos, métodos de aproximación, etc. Además muestra el valor aproximado y exacto del área buscada. Figura 39 Mgr. Patricia Có - Prof. Erica Panella 38 2. Área comprendida entre curvas Vamos a calcular el área encerrada entre dos curvas, por ejemplo: y = sen x e y = cos x, cuando x varía entre 0 y 2 . Visualizamos las gráficas de ambas curvas en un mismo sistema para estimar los puntos de corte: > plot([sin(x),cos(x)],x=0..2*Pi,color=[red,blue]) Necesitamos conocer las abscisas de los puntos de intersección de las dos curvas. Observamos que uno de los puntos tiene abscisa cercana a 1 y el otro a 4. Podemos hacer una estimación gráfica de puntos utilizando la opción Probe Info que aparece cuando apretamos sobre el gráfico el botón derecho del mouse, eligiendo luego el modo en que deseamos realizar esa aproximación. Figura 40 Para encontrar los valores exactos aplicamos el comando fsolve al sistema de ecuaciones determinado por las expresiones de las funciones dadas, especificando los intervalos en los que queremos hallar la(s) solución(es), ya estimadas gráficamente, en este caso: (0.5,1.5) y (3.5,4.5). > r1:=fsolve(sin(x)=cos(x),x=0.5..1.5) > r2:=fsolve(sin(x)=cos(x),x=3.5..4.5) Ahora calculamos el área entre las dos curvas como sigue: > S1:=evalf(int(cos(x)-sin(x),x=0...r1)) > S2:=evalf(int(sin(x)-cos(x),x=r1..r2)) > S3:=evalf(int(cos(x)-sin(x),x=r2..2*Pi)) > L:=S1+S2+S3 L:=5.656854249 El área buscada es 5.267829283 unidades cuadradas. Mgr. Patricia Có - Prof. Erica Panella 39 3. Longitud de arco de curva Como sabemos, si una curva plana está dada por su ecuación y = f(x), la longitud del arco de curva comprendido entre dos puntos de abscisas x = a y x = b, puede calcularse mediante: b a 1 f ´(x) dx 2 (siempre que se cumplan las hipótesis necesarias para que esta integral exista). Cuando la curva está definida en forma paramétrica: x = x(t); y = y(t), la longitud del arco de curva cuando el parámetro t toma los valores comprendidos entre to y t1,puede calcularse por: x´(t ) y´(t ) b a 2 2 dt . Veamos un ejemplo: Un cable eléctrico cuelga entre dos torres que están separadas 400 metros. El cable adopta la posición de una catenaria cuya ecuación es: 100 cosh x . Calcular la longitud del arco de cable entre las 100 dos torres. Transcribimos a Maple la fórmula para obtener el cálculo pedido y su valor exacto: > int(sqrt(1+diff(100*cosh(x/100),x)^2),x=-200..200) > evalf(%) Como en otras oportunidades podemos utilizar un Tutorial que permite calcular la longitud de una curva. El mismo está disponible en Herramientas -> Tutoriales ->Cálculo-En Una Variable -> Longitud de Arco. Aplicándolo en la función que nos interesa nos devuelve el mismo resultado numérico, pero agrega opciones interactivas: Figura 41 Mgr. Patricia Có - Prof. Erica Panella 40 4. Cálculo de volúmenes por integrales dobles Veamos algunos ejemplos: Calcular el volumen en el primer octante comprendido entre el plano OXY, el plano y el cilindro de ecuaciones z = x + y + 2 ; x 2 y 2 16 , respectivamente. Comenzaremos haciendo una representación gráfica del plano y del cilindro para tratar de visualizar el recinto comprendido entre estas superficies y el plano OXY. with(plots): implicitplot3d([x+y+2,x^2+y^2=16],x=-5..5,y=-5..5,z=-10..10,color= [red,green],style=surface,axes=box,transparency=[0.5,0],orientation=[15,45]) Figura 42 Para calcular el volumen pedido utilizamos integrales dobles, escribiendo el comando o utilizando la paleta: > > Calcular el volumen de la región contenida en el primer octante determinada por el cilindro de ecuación y el plano y = x. Graficamos la región comprendida entre las gráficas de las ecuaciones dadas: >implicitplot3d([x^2+z^2=1,y=x],x=0..1,y=0..1,z=0..1,color= [red,blue],style=surface,axes=box,transparency=[0.5,0],orientation=[-45,75]) Mgr. Patricia Có - Prof. Erica Panella 41 Figura 43 Queremos calculamos el volumen de la región que queda por delante del plano. Veamos cuál es la curva que resulta de la intersección de ambas superficies: > intersectplot(x^2+z^2=1,y=x,x=0..1,y=0..1,z=0..1,axes=box, orientation= [-45,75]) # podemos cambiar el grosor de la curva con el botón derecho del mouse Figura 44 Es interesante conocer las ecuaciones de las proyecciones de esta curva sobre los planos xz e yz. Si observamos la curva que se visualiza cuando rotamos la figura anterior, podemos suponer que se trata de parte de una circunferencia. Haciendo los cálculos correspondiente obtenemos que las proyecciones sobre los planos xz e yz resultan ser arcos de las circunferencias x2 + y2= 1 y y2 + z2 =1. Existen 6 formas distintas de calcular el volumen pedido, ellas son: Mgr. Patricia Có - Prof. Erica Panella 42 5. Cálculo de volumen de sólido de revolución Con fines didácticos resulta muy interesante visualizar la superficie de revolución que se genera cuando una curva plana gira alrededor de un eje contenido en el mismo plano, para luego calcular del volumen del sólido engendrado. Vemos nuevamente un ejemplo: Obtener la gráfica de la superficie de revolución que genera la curva contenida en el plano xz de ecuación z x , cuando la misma gira alrededor del eje x, variando x entre 0 y 4. Calcular el volumen del sólido engendrado. El comando que nos permite ver en forma animada cómo se genera la superficie cuando la curva gira alrededor del eje es: >animate3d([x, 2*x*sin(a*u), 2*sqrt(x)*cos(a*u)],x =0..4,a=0..2*Pi,u=0..1, axes=normal); Figura 45 Si accionamos la animación, obtendremos una imagen como la de la siguiente figura: Mgr. Patricia Có - Prof. Erica Panella 43 Figura 46 Para calcular el volumen del sólido generado podemos utilizar la integral definida que corresponda, pero nuevamente resulta interesante el Tutorial disponible en Herramientas -> Tutoriales ->Cálculo-En Una Variable-> Volumen de Revolución que permite visualizar cómo se calcula el volumen del sólido propuesto por diferentes métodos y como así también cambiar los ejes de revolución. Volviendo a nuestro ejemplo: Figura 47 Permite elegir el eje de giro Se puede elegir entre método de discos o cascarones Mgr. Patricia Có - Prof. Erica Panella Produce animación en la gráfica Calcula el volumen en forma aproximada 44 Si cambiamos el eje de giro, por ejemplo a y=2, obtenemos la siguiente figura: Figura 48 Mgr. Patricia Có - Prof. Erica Panella 45 5 Algebra Lineal con Maple 5.1. Introducción En esta sección desarrollaremos algunos contenidos del Algebra Lineal y, en entre otras cuestiones, nos enfocaremos en mostrar cómo puede utilizarse Maple para agilizar cálculos engorrosos que aparecen cuando queremos, por ejemplo: resolver sistemas de ecuaciones, operar con matrices, buscar autovalores y autovectores, conseguir bases ortonormales o diagonalizar matrices. 5. 2. Vectores Podemos definir vectores (columnas o filas) de diferentes formas, veamos algunas: En el caso de un vector columna ingresamos las componentes encerradas entre los signos < > (menor y mayor) separadas por comas: > En el caso de un vector fila ingresamos las componentes entre los mismos signos < > pero separadas por barras verticales (se encuentran en la paleta operadores ubicada a la izquierda de la pantalla). > Utilizando la orden Vector o Vector [row] que se encuentran dentro del paquete LinearAlgebra según deseemos ingresar vectores columnas o filas respectivamente, por ejemplo: > > 5.2.1. Operaciones con vectores Suma, resta y multiplicación por un escalar La suma, resta y producto de un escalar por un vector se efectúan con los símbolos convencionales, por ejemplo: > Mgr. Patricia Có - Prof. Erica Panella 46 Para poder observar gráficamente, por ejemplo, la suma de dos vectores, recurrimos a la orden VectorSumPLot que se encuentra dentro del paquete StudentLinearAlgebra. Para cargarlo vamos a Herramientas -> Cargar Paquete -> Student Linear Algebra: Cargando Student:-LinearAlgebra > Figura 49 Producto escalar y vectorial Ambas operaciones se definen respectivamente mediante las órdenes: DotProduct(v,w) y CrossProduct(u,v), contenidas en el paquete Linear Algebra. Cargando LinearAlgebra > Si queremos representar gráficamente el producto vectorial: > Figura 50 Mgr. Patricia Có - Prof. Erica Panella 47 5.3 Matrices Como en el caso de vectores, una matriz se puede ingresar de diferentes formas, veamos algunas: utilizando la paleta Matriz (como ya se dijo al comienzo de esta guía), siguiendo los siguientes pasos: seleccionar el nº de filas y columnas, insertar la matriz, nombrarla (por ejemplo M:=), y por último ingresar los valores de cada uno de sus elementos, tal como se ve en la siguiente figura: Figura 51 También es posible definir una matriz a través de comando Matrix ingresando sus elementos por filas encerradas entre corchetes y separados con comas, y a su vez cada corchete separado por coma, como se muestra a continuación: > Una tercera opción la encontramos al cargar el Tutorial -Algebra Lineal -Construcción de Matriz, que permite ingresar cada elemento en su respectivo lugar. En este caso, en el lado derecho de la pantalla aparece el sistema asociado a la matriz, por lo que puede resultar conveniente utilizar esta opción cuando resolvemos sistemas de ecuaciones. Figura 52 Mgr. Patricia Có - Prof. Erica Panella 48 Por último, tal como se vio en vectores y habiendo cargado previamente el paquete StudentLinearAlgebra, podemos definir una matriz utilizando los signos < > para indicar los elementos de cada fila separados por comas, y a su vez encerrar todas las filas entre los mismos signos, separándolas por barras verticales, como se muestra a continuación: > 5.3.1 Operaciones Matriciales Suma, multiplicación por un escalar y multiplicación de matrices Estas operaciones (siempre que sea posible realizarlas) se indican mediante los símbolos matemáticos que utilizamos habitualmente: “+, - , .” . En el caso de que no sea posible realizar la operación pedida por incompatibilidad de tamaños, el programa devuelve un mensaje de error indicando cuál es el problema. > : > ; ; > Error, (in LinearAlgebra:-Multiply) first matrix column dimension (2) <> second matrix row dimension (4) Determinante y Transpuesta Si queremos obtener rápidamente el determinante y la transpuesta de una matriz podemos utilizar el botón derecho del mouse posicionándonos sobre la misma y seleccionando el penúltimo ítem: Standard Operations. Luego elegimos la operación a realizar, como vemos en la siguiente figura. Mgr. Patricia Có - Prof. Erica Panella 49 Figura 53 También es posible utilizar los comandos Determinant y Transpose (con mayúsculas) que se encuentran disponibles en el paquete Linear Algebra, como vemos a continuación: > ; ; Matriz Inversa y Matriz Adjunta Existen varias maneras de calcular la Inversa de una matriz cuadrada: o accionando sobre la matriz con el botón derecho del mouse y eligiendo la opción Standard Operations ->Inverse. o utilizando el comando MatrixInverse o aplicando el operador ^(-1) (3) (En este caso accionamos el mouse sobre la matriz de salida (3)) Mgr. Patricia Có - Prof. Erica Panella 50 Verificamos: > > Para calcular la matriz Adjunta: > > Verificamos que la matriz adjunta de Z dividida por su determiante es su inversa: > Más adelante veremos cómo podemos utilizar Maple para calcular la inversa de una matriz utilizando reducción. En el menú Herramientas, Maple posee una opción llamada Tareas que, sin ser un Tutorial, es de gran ayuda cuando no recordamos las sentencias y sintaxis a utilizar, podríamos decir que funciona como una biblioteca de comandos y de ejemplos. Sería muy tedioso enumerar las funciones allí descriptas, así es que recomendamos dar un paseo por algunos ítems de este listado, por ejemplo, como se muestra en la figura siguiente, examinamos cómo buscar el rango de una matriz: Mgr. Patricia Có - Prof. Erica Panella 51 Figura 54 Submatriz y Matriz aumentada Dada una matriz de cualquier tamaño es posible extraer de ella una columna, una fila o una submatriz, darle un nombre y volver a operar con estos elementos. Veamos un ejemplo con la matriz M ingresada anteriormente: > ; > Si queremos aumentar una matriz a través de otras, podemos hacerlo con la orden augment, dentro del paquete linalg > Mgr. Patricia Có - Prof. Erica Panella 52 > > 5.4 Sistemas de ecuaciones Maple permite resolver sistemas de ecuaciones por distintos métodos, utilizando comandos específicos para cada caso. Veamos algunos de ellos: Comando solve: >solve({eq1,eq2,eq3,...,eqm},{x1,x2,x3,...xn}); Donde: eq1,eq2,eq3,...,eqm y x1,x2,x3,...xn son m las ecuaciones y las n incógnitas respectivamente. Veamos cómo utilizarlo para resolver un sistema de tres ecuaciones con tres incógnitas con única solución: > Si el sistema tiene un número infinito de soluciones, Maple las expresa en función de una de las variables, por ejemplo: > La ausencia de respuesta se interpreta como que el sistema es inconsistente: > Comando GaussianElimination. Se encuentra dentro del paquete LinearAlgebra y permite obtener la forma escalón de la matriz asociada al sistema de ecuaciones. Veamos cómo se aplica en el siguiente ejemplo: x 2 y 3 z 2 2 x 5 y 1 3 x y 4 > Mgr. Patricia Có - Prof. Erica Panella ; 53 Maple cuenta con un Tutorial llamado Eliminación Gaussiana que permite visualizar los pasos que se desarrollan al utilizar este método. Podemos ver la guía de cómo seguir este proceso en las siguientes figuras: Figura 55 Maple muestra una matriz por defecto, para cambiarla seleccionamos Edit Matrix e ingresamos las entradas de una en una, mediante la tecla tab. Una vez definida la matriz con la que vamos a operar, presionamos Close, retornando a la pantalla anterior. En esta etapa podemos optar por visualizar cada paso en la reducción presionando Next Step o la reducción completa optando por All Steps. Observemos que en la parte superior derecha de la pantalla se van indicando las operaciones que se realizan en cada paso. Figura 56 Mgr. Patricia Có - Prof. Erica Panella 54 El comando ReducedRowEchelonForm o rref, que se encuentra dentro del paquete LinearAlgebra, permite obtener la forma escalón reducida de la matriz asociada al sistema de ecuaciones. Veamos cómo funciona con el mismo ejemplo: > Maple posee otro tutorial para observar cada paso en este tipo de reducción. La forma de utilizarlo es similar a la anterior, pero en vez de elegir Eliminación Gaussiana, seleccionamos Eliminación de Gauss Jordan. 5.4.1 Algunas Aplicaciones. 1. Determinar si el conjunto S={v1,v2,v3,v4,v5,v6} de vectores de R3 es una base de R3. Siendo: v1=(1,2,3); v2=(2,3,4); v3=(3,4,5); v4=(4,5,6); v5=(5,6,7); v6=(6,7,8): > > Observamos que la matriz reducida tiene sólo 2 columnas pivotes y por lo tanto los vectores de S no determinan una base de R3. 2. Analizar si los vectores u1=(1,-2,3,4,6,4); u2=(2,4,6,8,0,-2); u3=(1,3,5,7,-4,-5); u4= (1,5,9,13,-1,0); u5=(1,5,9,13,-1,0); u6=(-1,4,8,13,-5,2) determinan una base de R6. > Mgr. Patricia Có - Prof. Erica Panella 55 Como se observan 6 columnas pivotes, confírmanos que los vectores dados determinan una base de R6 3. Determinar las coordenadas de los vectores h1=(1,2,3,4); h2=(2,4,6,8) en la base B formada dada por los siguientes vectores: c1=(1,0,0,0); c2=(0,1,0,0); c3=(1,3,5,7); c4=(1,4,7,10). Para ello ingresamos los vectores c1, c2, c3 y c4, h1 y h2, consideramos las matrices ampliadas formadas por los primeros 4 vectores junto con h1 y h2 (puede hacerse por separado) y luego aplicamos Gauss Jordan (esta vez utilizaremos el comando rref ) > > > Las últimas columnas expresas las coordenadas de h1 y h2 en la base B. 1 2 3 4 5 6 4. Utilizando la matriz M= 2 3 4 5 6 7 , hallar una base para cada uno de los siguientes espacios: de 3 4 5 6 7 8 columnas de M (Col(M)), de renglones de M (Ren(M)) y del nulo (nul(M)). Verificar que se cumple el teorema del rango. Dentro del paquete LinearAlgebra se encuentran los comandos ColumnSpace, RowSpace y NullSpace que permiten determinar una base para cada uno de estos espacios: > Mgr. Patricia Có - Prof. Erica Panella 56 > > Vemos que una base para el espacio de las columnas tiene 2 elementos, por lo tanto el rango es 2, y una base del espacio nulo está dada por 4 vectores, entonces la nulidad es 4. Esto demuestra que se cumple el teorema del rango, ya que 2 + 4 = 6, lo cual coincide con el número de columnas de la matriz M. 5. Obtener las columnas pivotes de la matriz G, demostrar que forman un conjunto linealmente independiente y que la cuarta columna es una combinación lineal de las columnas pivotes precedentes. Siendo G la matriz formada por los vectores u1=(1,2,3,4); u2=(2,4,6,8); u3=(1,3,5,7); u4=(1,4,7,10); u5=(1,5,9,13). > > Vemos que las columnas 1 y 3 son columnas pivotes. > > Mgr. Patricia Có - Prof. Erica Panella 57 Este resultado muestra que las columnas pivotes son independientes. > Vemos que la cuarta columna es una combinación lineal de la primera y de la tercera, siendo -1 y 2 los coeficientes de dicha combinación. Verifiquemos: > Son los elementos de la cuarta columna. 6. Ampliar el conjunto de vectores linealmente independiente {u1= (1,2,-3,4), u2= (3,-3,6,-8)} a una base ortonormal de R4 Reducimos la matriz formada por u1, u2 y los cuatro vectores e1,e2, e3 y e4 de la base canónica de R 4. Cargando Student:-LinearAlgebra Cargando LinearAlgebra > > Podemos observar que el conjunto formado por los vectores u1, u2, e1 y e2 es una base de R4. Por último para ortonormalizar esta base recurrimos al comando GramSchmidt que se encuentra en el paquete StudentLinearAlgebra: > Mgr. Patricia Có - Prof. Erica Panella (ingresar previamente los vectores) 58 5.5 Valores y Vectores propios Los comandos Eigenvalues, CharacteristicPolynomial, que se encuentran dentro del paquete LinearAlgebra, permiten calcular los valores propios y el polinomio característico de una matriz y el comando Eigenvectors muestra los valores y vectores propios, por ejemplo: > > > > > En el paquete StudentLinearAlgebra se encuentran dos Tutoriales que muestran los procesos de cálculo de autovalores y autovectores y resultan de gran utilidad a la hora de resolver problemas sobre el tema. Como siempre, es posible acceder a los mismos desde el menú Herramientas->Tutoriales-> Algebra Lineal-> Valores Propios o Herramientas->Tutoriales-> Algebra Lineal-> Vectores Propios (respectivamente). Vemos en la Figura 57 una síntesis de las sucesivas pantallas que corresponden a la búsqueda de valores propios de una matriz: Mgr. Patricia Có - Prof. Erica Panella 59 Figura 57 El tutorial que muestra el proceso de cálculo de los autovectores contiene al de los autovalores, de modo que podemos hacer los dos juntos y la primera parte se desarrolla tal como lo descripto en el punto anterior. Al cargar el Tutorial de autovectores, Maple ofrece la opción de ver el proceso de cálculo de autovalores, a través de la pregunta: Si seleccionamos No el tutor va directamente a la búsqueda de autovectores. Encontrar los autovectores requiere tres pasos, en siguiente figura se muestra la síntesis de pantallas: Figura 58 Por ejemplo, como se muestra en la figura anterior, para buscar el autovector correspondiente al autovalor t=5, Mgr. Patricia Có - Prof. Erica Panella 60 primero calcula la matriz A=M- t I, luego resuelve la ecuación A X=0, y por último explicita el autovector correspondiente. Cabe aclarar que existen más comandos y funciones relacionados con el tema pero su tratamiento requiere tiempo que excede a nuestro objetivo. Mgr. Patricia Có - Prof. Erica Panella 61