MÉTODOS MATEMÁTICOS (Curso 2011-2012) Tercer Curso de Ingeniería Aeronáutica Departamento de Matemática Aplicada II. Universidad de Sevilla INTRODUCCIÓN A MATLAB Índice 1. Aspectos Generales de Matlab 1 2. El Entorno de Trabajo de Matlab 3 3. Matrices y Vectores 4 4. Grácas en Matlab 6 5. Archivos en Matlab 6 6. Programación en Matlab 8 7. Ejercicios Adicionales 10 1. Aspectos Generales de Matlab En las clases de laboratorio se utilizará la versión R2008a (7.6) de Matlab. Las presentes notas deben entenderse sólo como una sencilla introducción a aquellos aspectos del programa que van a ser utilizados repetidamente durante el curso. Es muy recomendable profundizar en algunos de los temas aquí tratados, especialmente en todo lo relacionado con el manejo de archivos *.m y con la programación. Para ello pueden consultarse cualquiera de los textos mencionados en el proyecto docente de la asignatura. Acceso a Matlab. Para empezar a trabajar con Matlab, debe arrancarse el ordenador en el modo Matlab siguiendo las correspondientes instrucciones del Centro de Cálculo de la Escuela. Posteriormente, para abrir una ventana y comenzar una sesión, basta buscar el icono correspondiente a Matlab R2008b en el escritorio de Windows, situarnos sobre él con el ratón y pulsar dos veces su botón izquierdo. El símbolo >> (prompt ) nos indica que el programa está a la espera de nuestras exit o quit y para ejecutar cualquier instrucción instrucciones. Para salir de Matlab basta teclear la tecla Return . Hemos de tener en cuenta que una instrucción termina al cambiar de línea. Si necesitamos escribir más de una línea, debemos poner el símbolo ... (tres puntos) al nal de la misma y continuar en la siguiente. Si lo que queremos es escribir varias instrucciones dentro de la misma línea, basta separarlas por comas. El cursor se posiciona con las echas izquierda/derecha usarse las teclas Backspace o ←,→ y para borrar caracteres pueden Supr . Si lo que se desea es borrar toda la línea de edición puede usarse la tecla Esc . También son accesibles otras posibilidades de edición en línea (de signicado completamente intuitivo) con las teclas Inicio , Fin 1 o Insert . Otra opción muy útil es usar las ↑,↓ echas arriba/abajo para recuperar las órdenes previas. Por tanto, se puede recuperar una línea anterior de órdenes, editarla y ejecutarla revisada. Para limpiar completamente la pantalla se utiliza la orden clc. Funciones implementadas en Matlab. El programa Matlab lleva implementadas la inmensa mayoría de las funciones matemáticas más utilizadas, las cuales suelen admitir argumentos escalares y vectoriales. Además, Matlab maneja con facilidad números complejos y utiliza indistintamente la i y la j para representar el número imaginario unidad. Conviene precisar que los paréntesis ( ) y los corchetes [ ] tienen signicados muy distintos en Matlab. Los primeros se utilizan para evaluar funciones y los segundos para denir vectores o matrices. Ejercicio. (a) Determine el valor de la raíz cuadrada del logaritmo neperiano del seno de cinco. (b) Compruebe que 3-4-5 son las dimensiones de un triángulo rectángulo. >> sqrt(log(sin(5))) >> sqrt(3^2+4^2)-5 Formatos numéricos. Para visualizar los resultados, Matlab ofrece varias posibilidades aunque, por defecto, representa los números en pantalla con redondeo a cuatro cifras decimales. También decide si representa un número en notación convencional (coma ja) o en notación cientíca (coma otante). Los números enteros que tengan menos de nueve cifras siempre se representan en coma ja. La orden para la representación en pantalla es format y admite, entre otras, las siguientes opciones: format long: 16 dígitos. format short: 4 dígitos. Equivale a escribir sólo format. format long e: 16 dígitos más exponente. format short e: 4 dígitos más exponente. Es fundamental entender que Matlab no cambia la representación interna de un número cuando se escogen diferentes formatos, sólo se modica su visualización. Ejercicio. Escriba en los cuatro formatos anteriores el número π. >> >> >> >> pi format long, pi format long e, pi format short e, pi Variables. . Una variable es simplemente una etiqueta que se asigna temporalmente a un dato El modo de denir una variable cualquiera en Matlab es variable=expresión . Para saber el valor actual de una variable sólo hay que escribirla y pulsar la tecla Return . El resultado de ejecutar en Matlab cualquier expresión matemática se guarda, por defecto, en una variable denominada ans, que sale inmediatamente en pantalla y que toma como valor el 2 correspondiente resultado. Si deseamos que esta variable no aparezca en pantalla, basta teclear al nal de la expresión el símbolo ; (punto y coma). 2. El Entorno de Trabajo de Matlab El entorno de trabajo. A partir de la versión 5.0, el entorno de Matlab ha mejorado mucho, haciéndose mucho más gráco e intuitivo. Los principales componentes de dicho entorno son el explo- Path Browser ), el editor y depurador de errores (Editor/Debugger ) Workspace Browser ). rador de caminos de búsqueda ( y el visualizador del espacio de trabajo ( Path Browser. Matlab puede llamar a una gran variedad de funciones, tanto propias como programadas por los usuarios. A veces, puede incluso haber funciones distintas que tienen el mismo nombre. Por tanto, es interesante saber cómo busca Matlab cualquier función que se le pida que ejecute. La clave es el camino de búsqueda ( el nombre de una función. El mediante la orden search path search path ) que el programa utiliza cuando encuentra es una lista de directorios que se puede ver y modicar path, o utilizando el Path Browser (Submenú Set Path en el menú File ). El directorio actual. El concepto de directorio actual o de trabajo es crucial en Matlab. Es el directorio donde el usuario debe guardar los diferentes archivos que genere en las sesiones, para que Matlab pueda detectarlos. El contenido de dicho directorio puede obtenerse con la orden actual se utiliza la orden dir. Para cambiar el directorio cd (Change Directory ) seguido del nombre del nuevo directorio. Ejecutando cd .., se sube un nivel en la jerarquía de directorios. Estos cambios también pueden hacerse de un modo gráco. Editor/Debbuger. En Matlab tienen particular importancia los M-archivos, esto es, archivos con la extensión *.m, los cuales son archivos de texto ASCII que contienen un cierto conjunto de órdenes de Matlab. La importancia de estos archivos es que al teclear su nombre en la línea de órdenes de Matlab y pulsar Return , se ejecutan todas las órdenes contenidas en dicho archivo. Matlab dispone de un editor propio que permite tanto crear y modicar estos archivos (proceso de edición- Debugger ). Editor ), como ejecutarlos paso a paso para detectar errores (proceso de depuración- En un nivel mucho más avanzado, no está de más saber que Matlab permite además optimizar los programas que diseñemos mediante un análisis detallado del tiempo de ejecución de cada orden Matlab Proler ). de dicho programa ( Workspace Browser. El espacio de trabajo ( Workspace ) de Matlab es el conjunto de variables que en un determinado momento están denidas en la memoria del programa. Para obtener información sobre el workspace se pueden utilizar las órdenes información más detallada que la primera. 3 who y whos. La segunda proporciona una 3. Matrices y Vectores Matrices y vectores. En Matlab se trabaja fundamentalmente con matrices. De hecho, para Matlab, los números son simplementes matrices cuadradas de orden uno. Las matrices pueden denirse de las siguientes formas: Se escribe la matriz entre corchetes, colocando las las una a continuación de otra, separadas por el simbolo ;. Entre los elementos de una misma la podemos colocar una coma o dejar un espacio en blanco. Se escribe la matriz entre corchetes, colocando cada la en un renglón. La matriz vacía se representa por [ ]. Como es natural, si sólo introducimos una la tenemos un vector la. Matlab incluye una orden muy útil para generar vectores cuyas coordenadas están en progresión aritmética. En concreto, la estructura a:b:c crea un vector entre los números a y c, incrementando cada coordenada con el número b. Si sólo se escribe Ejercicio. a:c se considera que b es igual a uno. Genere tres vectores cuyos elementos representen una partición del intervalo [-1,1] en cinco, ocho y diez subintervalos iguales. Con las tres primeras coordenadas de cada uno de ellos, 3 × 3 y calcule el determinante de dicha matriz y de su traspuesta. u=-1:2/5:1, v=-1:2/8:1, w=-1:2/10:1 A=[-1, -0.6, -0.2 -1, -0.75, -0.5 -1, -0.8, -0.6] B=A' det(A), det(B) genere las tres las de una matriz >> >> >> >> >> >> Direccionamiento y manipulación de matrices. Para seleccionar un elemento determinado de una matriz se escribe el nombre de la matriz seguido del número de la y columna separados por una coma y entre paréntesis. Si se desea extraer una submatriz, basta colocar en vez de números, vectores cuyas componentes son los números de las correspondientes las y columnas. El símbolo dos puntos es muy útil para crear submatrices. Cuando no se le dan valores a derecha e izquierda recorre, por defecto, todas las las o columnas. Si colocamos datos fuera del rango actual de una matriz se rellenan con ceros las zonas no especicadas. Ejercicio. Obtenga de cuatro maneras distintas la submatriz formada por la segunda y la tercera la de la siguiente matriz 1 1 A= 1 1 1 2 2 2 >> A=[1 1 1 1;1 2 2 2;1 2 3 3;1 2 3 4] >> A(2:3,1:4) 4 1 2 3 3 1 2 . 3 4 >> A(2:3,:) >> A([2 3],[1 2 3 4]) >> A([1 4],:)=[] Operaciones básicas con matrices. Para trabajar con matrices y vectores, Matlab cuenta con una serie de operaciones básicas que citamos a continuación. En todas ellas es fundamental que las dimensiones sean las adecuadas. El símbolo + para sumar matrices y el - para restar matrices. El símbolo * para multiplicar matrices. Si el símbolo lo precedemos de un punto se obtiene la multiplicación coordenada a coordenada. El símbolo ^ para la la potenciación de matrices. Con el punto delante se obtiene la operación coordenada a coordenada. El símbolo ./ para dividir dos matrices coordenada a coordenada. Cuando una de ellas es un número puede quitarse el punto. Funciones elementales sobre vectores/matrices (de signicado completamente intuitivo en inglés): max, min, sort, sum, size,... Además, Matlab incorpora funciones que permiten generar matrices que surgen con frecuencia en los cálculos: eye, zeros, ones, diag, rand, randn,... Ejercicio. Dena la matriz A cuadrada de orden 15 tal que todos sus elementos son nulos, salvo la primera la y la primera columna, las cuales toman los valores, respectivamente, de la columna o la en que se encuentran. >> A=zeros(15); A(1,1:15)=1:15; >> A=A+A'; A(1,1)=1; A Otra forma sería: >> A=[1:15;[2:15]',zeros(14)] Ejercicio. Escriba las matrices A y B denidas por A(i, j) = 10(i − j) + 1; i, j = 1, ..., 10. 1, i−j =1 B(i, j) = , i, j = 1, ..., 20. 0, en otro caso >> A=[1:10]'*ones(1,10); A=100*(A-A')+1 >> B=[zeros(1,10);eye(9,10)] 5 4. Grácas en Matlab La ventana gráca de Matlab. Para mostrar las correspondientes grácas, Matlab abre una nueva ventana, la denominada ventana de gura. Si ya hubiera una ventana de gura, se borra la ventana de gura actual y se dibuja en ella la nueva gráca. Para utilizar dos o más grácas en gure. La orden gure(n) muestra, o crea si no la hay, la ventana de gura n-ésima y ésta pasa a ser la ventana de gura activa. La orden close cierra diferentes ventanas de gura, se usa la orden la ventana gráca activa. Grácas bidimensionales. Para obtener grácas 2-D, Matlab admite cuatro opciones: grácas en coordenadas cartesianas, grácas en coordenadas polares, grácas de barras y grácas de escaleras. La orden para representar datos bidimensionales en coordenadas cartesianas es crear grácas en coordenadas polares es generan usando las ordenes La orden plot polar plot, para y, nalmente, los grácos de barras y escaleras se bar y stairs, respectivamente. escala los ejes para ajustar los datos, representa los puntos y, a continuación, conecta los puntos con una línea recta. También añade una escala numérica y coloca de forma automática marcas en ambos ejes. Conviene aclarar que lo primero que se hace al ejecutar la orden plot es eliminar toda la información (líneas, ejes,...) sobre la gráca anterior, si la hubiere. Ejercicio. Dibuje la gráca de la función exponencial en el intervalo [-2,2]. Obtenga una segunda gráca donde a la curva anterior se le añada la recta tangente en x = 0. >> x=-2:0.01:2; y=exp(x); plot(x,y) >> z=x+1; plot(x,y,x,z) Grácas tridimensionales. Para obtener grácas 3-D, Matlab admite tres opciones: grácas de líneas, grácas de supercies y grácas de contorno. La orden básica para realizar grácas de líneas es plot3, las órdenes para grácas de supercies son mesh y surf contour. y, nalmente, para grácas de contorno es Grácas de líneas. La función plot3 es análoga a su homóloga bidimensional plot. Su forma más sencilla es plot3(x,y,z) la cual dibuja una línea que une los puntos (x(1),y(1),z(1)), (x(2),y(2),z(2)), (x(3),y(3),z(3)), etc, y la proyecta sobre un plano para poderla representar en pantalla. Ejercicio. Dibuje en verde un trozo de una espiral cilíndrica. >> fi=[0:pi/20:6*pi]; >> plot3(cos(fi),sin(fi),fi,'g') 5. Archivos en Matlab Comentarios generales. Para trabajar con datos de gran tamaño, o bien para diseñar nuevas funciones en Matlab, es completamente imprescindible trabajar con archivos y, por tanto, con el editor de texto de Matlab. Los archivos adicionales que Matlab utiliza básicamente son aquéllos 6 con extensión *.m y una parte importante de cada sesión con Matlab es crear y renar este tipo de archivos. Atendiendo a su uso, los M-archivos suelen dividirse en dos grandes grupos: archivos de instrucciones o tipo script y archivos de funciones. Como se comentó, Matlab dispone de un editor excelente que facilita enormemente el trabajo con los M-archivos. En concreto, el editor muestra con diferentes colores los diferentes tipos o elementos constituyentes de las órdenes (en verde los comentarios, en rojo las cadenas de caracteres, ...). Además, el editor se preocupa también de que las comillas o paréntesis que se abran tengan el correspondiente elemento de cierre. Para acceder al editor desde la ventana principal de Matlab, basta pulsar el menú New/ M-le (si se desea crear un archivo nuevo), o bien pulsar el menú File y después File y después Open M-le... (si se desea abrir un archivo ya existente). El manejo de esta nueva ventana es totalmente intuitiva. Ejercicio. Abra un archivo usando el editor de Matlab, escriba en él una matriz cuadrada de orden 2 y guarde dicho archivo en el directorio actual con el nombre prueba.m. Pulsar: File → New → M-file Escribir: A=[1 2; 2 1] Pulsar Guardar como En Nombre de Archivo escribir prueba.m Con la pestaña Guardar en, situarse en C: \Matlab7.1 Pulsar Guardar Archivos de instrucciones. Un M-archivo de este tipo consiste en una sucesión de instrucciones de Matlab. Para ejecutarlas y ver el correspondiente resultado en pantalla, basta escribir el nombre del archivo (sin la extensión) y pulsar Return . Las variables en un archivo de instrucciones son globales y, por tanto, pueden afectar a los valores de las variables que se hayan creado durante la sesión de trabajo con Matlab. Los archivos de instrucciones son básicamente utilizados para introducir datos en matrices de grandes dimensiones, pues en un archivo de este tipo es fácil corregir errores sin repetir todo el trabajo. Ejercicio. Escriba y guarde en un archivo de nombre datos.m la matriz cuadrada de orden veinte tal que los elementos de su diagonal son todos iguales a 3 y las dos subdiagonales principales están formadas por unos. Calcule su determinante. Posteriormente cambie la diagonal por el vector cuyas coordenadas son los primeros veinte números naturales y vuelva a calcular el determinante de la nueva matriz. Escribir en un archivo: A=diag(3*ones(20,1)); A=A+diag(ones(19,1),1); A=A+diag(ones(19,1),-1); Guardar en datos.m Ejecutar el archivo y escribir en >> det(A) Abrir datos.m A=A-diag(3*ones(20,1)); A=A+diag(1:20); Matlab 7 Guardar datos.m Ejecutar el archivo y escribir en >> det(A) Archivos de funciones. Matlab Los M-archivos de funciones son los que permiten incrementar la colec- ción de funciones que ejecuta Matlab. Es decir, se pueden crear funciones especícas para algún problema concreto y, a partir de su introducción, dichas funciones tienen el mismo rango que las funciones del sistema y se ejecutan de igual forma. Las variables en los archivos de funciones son locales, es decir, no afectan a los valores de las variables que se hayan creado durante la sesión de trabajo con Matlab. Se aconseja que el nombre de un archivo de función sea el nombre de la función seguido, obviamente, de la extensión *.m. La estructura de un archivo de este tipo es la siguiente: la primera línea comienza con la orden de Matlab function seguida del nombre de la función que queramos denir junto con los argumentos de entrada y salida separados por comas. Es decir, function [argumentos de salida]=nombre de la función(argumentos de entrada). A continuación, puede haber diversas líneas de comentario que han de estar precedidas necesariamente por el símbolo %. Conviene decir que son precisamente estas líneas las que aparecerán en pantalla al usar la orden help. Finalmente aparece el programa, esto es, las instrucciones necesarias para poder evaluar la función. Tanto los argumentos de entrada como los de salida no son obligatorios y, si no aparecen, no hace falta escribir los correspondientes corchetes o paréntesis. Ejercicio. Diseñe una función que muestre la gráca de la función y = xn cuyo argumento de entrada sea el número n. en [−2, 2] × [−4, 12] y La gráca debe tener un mallado y deben situarse los ejes de coordenadas. function graf(n) x=-2:0.01:2; y=x.^n; plot(x,y);axis([-2 2 -4 12]); hold on plot([-2.2 2.2],[0 0],'w', [0 0], [12 -4],'w'); grid; hold off; 6. Programación en Matlab La orden for. La sintaxis para la utilización de esta orden de control es for variable=vector end instrucciones sobre la variable El signicado es el siguiente: mientras la variable recorre los valores del vector, se realizan las instrucciones descritas, con la variable tomando dichos valores. Matlab permite anidar varias órdenes for. 8 Ejercicio. Diseñe una función que devuelva el término n-ésimo de la iteración xn+1 = x2n − 2xn , x0 = 4. x1 , x15 y x50 . Crear un archivo iter.m function z=iter(n) x=4; for k=1:n x=x^2-2*x; end z=x; En Matlab >> iter(1) >> iter(15) >> iter(50) Obtenga La orden if. La sintaxis habitual para la utilización de esta orden de control es El signicado es el siguiente: si ejecutan las instrucciones cuándo P1 Q2 . if relación lógica instrucciones P1 instrucciones P1 Q1 else Q2 end es cierto se ejecutan las instrucciones Q1 y si P1 es falso se Las líneas tres y cuatro anteriores pueden suprimirse y, en este caso, sea falso, no se ejecuta ninguna instrucción. Ejercicio. Diseñe una función sobre los números enteros que asigna el valor 1 a los números pares y positivos, el valor -1 a los números impares y positivos y el valor cero a los números restantes. function paridad=paridad(n) if n <= 0 paridad=0; elseif rem(n,2)==0 paridad=1; else paridad=-1; end La orden while. La sintaxis para la utilización de esta orden de control es while relación lógica(contador) end instrucciones(contador) 9 . El signicado de este esquema es que las instrucciones se irán ejecutando mientras la relación lógica sea cierta. Ejercicio. Determine el valor de la precisión de la máquina usando un bucle valor obtenido con la variable predenida function precmaq precmaq=1; while (1+precmaq)>1 precmaq=precmaq/2; end precmaq = 2*precmaq eps de Matlab. while. Compare el 7. Ejercicios Adicionales 1. Ejecute la orden logo 2. Ejecute las órdenes para visualizar el icono habitual que representa a Matlab. clock, date y calendar. Interprete las respuestas proporcionadas por Matlab y limpie posteriormente la pantalla. 3. Liste las órdenes de Matlab relacionadas con la palabra cuadrado ( square en inglés) y utilice dicha información para determinar las raíces cuadradas de -3. greatest common di- 4. Compruebe que Matlab permite determinar el máximo común divisor ( visor ) de dos enteros. Determine el máximo común divisor del par (30,24) y del par (3072,288). 5. Dena la función polinomial calcule el valor de p 6. Ejecute las órdenes p(x) = x2 − 2x + 1 x = 1 es una raíz. Además, vector la [1 2 3 4 5 6 7 8 9]. y compruebe que sobre cada una de las coordenadas del realmin y realmax para conocer el rango real en el que se mueven los números que maneja Matlab. 7. Dibuje la gráca de la elipse centrada en el origen y de semiejes 8. La orden factorial 3 y 5. proporciona en Matlab el factorial de un número dado. Ahora bien, ¾sabría diseñar una función que efectúe la factorización de un número natural de entrada debe ser n? El argumento n. 9. Explique el resultado que proporciona Matlab al teclear sum(sin(0quepasa0)) − sum(sin(0que pasa0)). 10. Escriba el texto Operaciones con datos enteros y con datos reales en forma de una cadena en Matlab y denomínela s. A continuación, ejecute la orden respuesta numérica proporcionada por Matlab. 10 ndstr(s,'con') y explique la 11. Compare con el operador relacional < las cadenas 'hola' y 'majo'. Considere el vector [1, 5, 9, 2] x(x>=5). y ejecute x= Interprete, en ambos casos, los resultados proporcionados por Matlab. magic(9) 12. ¾Qué elementos de la matriz son mayores que diez y múltiplos de cinco? v 13. Considere el vector la formado por los nueve primeros números naturales. Usando opert adores lógicos/relacionales, determine qué elementos de la matriz v v son mayores o iguales que 50. 14. Usando dos instrucciones for anidadas, genere la matriz cuadrada A, denida por A(i, j) = i2 j, A ¾Sabría generar sin usar ninguna instrucción 15. Utilizando la orden tabla con los n i, j = 1, ..., 10. fprintf, for? diseñe una función en Matlab que devuelva en pantalla una primeros valores de la iteración xn+1 = x2n − 2, x1 = 0. El argumento de entrada debe ser n. 16. Diseñe una función en Matlab cuyo argumento de entrada sea un número natural n, que pregunte si se desea calcular su cuadrado y, según sea la respuesta del usuario, realice o no dicho cálculo. 17. Lea detenidamente la información sobre la orden spdiags. A continuación, diseñe una función en Matlab cuyo argumento de entrada sea un número natural matriz cuadrada de orden N: N y que genere la siguiente la diagonal principal estará formada por unos; las subdiago- nales adyacentes inmediatas superior e inferior están formadas por elementos iguales todos 1 ; por encima y por debajo de las subdiagonales adyacentes todos los elementos de las a 2 correspondientes subdiagonales son iguales a 0. 18. Es conocido que la suma de la serie geométrica de razón ∞ X λ ∈ (0, 1) es igual a λ . 1−λ λn = n=1 N Diseñe una función de Matlab que obtenga el menor número de sumandos de la serie λ sea menor o igual 1−λ número λ y el valor tol . anterior de modo que la correspondiente suma nita que aproxime que un cierto valor tol. Los argumentos de entrada deben ser el 19. Considere el conjunto de datos n s(n) Dibuje n frente a 3 5 0.257 s(n) 0.0646 9 17 3.96× 0.0151 usando las órdenes plot 33 −3 10 y 65 −4 9.78×10 loglog. 11 ×10−4 Trate de determinar (admitiendo un cierto pequeño error experimental) la relación entre las variables s(129). 2.45 n y s. Prediga el valor de 20. Dibuje la gráca de la cardiode usando la orden polar. Repita el ejercicio con la lemniscata. 21. Dibuje una gráca de la función logaritmo en [0.5,2] que incluya una rejilla, los nombres de los ejes coordenados y el título Logaritmo. Posteriormente, quite la rejilla, añada una marca en la única raíz real que tiene el logaritmo y un comentario al lado de dicha raíz. 22. Dibuje en una matriz gráca de cuatro grácos, la función f (x) = abs(e−0,5x lı́m sen(5x)) en escala normal, logarítmica y semilogarítmica. 23. Obtenga un gráco interactivo que muestre marcas de colores distintos según pulse los distintos botones del ráton y que se pare al pulsar dentro de un cierto cuadrado en la pantalla. 24. Dibuje una espiral cónica con la orden plot3. Posteriormente, dibuje la curva alabeada de coordenadas paramétricas x = cos2 (t), y = cos(t)sen(t), z = sen(t), t ∈ [−4π, 4π]. 25. Dibuje en verde un trozo de hélice. Con la ayuda de la herramienta Camera Toolbar visualize dicha hélice desde distintas posiciones. 26. Dibuje con la orden mesh la supercie z = x2 − y2 . Posteriormente, represente la supercie en paramétricas x = 4 cos(r) sec(t); y = 2sen(r) sec(t); z = tg(t) donde t ∈ (−π, π) y r ∈ (−2π, 2π). 27. Represente el toro de revolución (respecto al eje OZ) de ecuaciones paramétricas x = cos(t)(3 + cos(u)); y = sen(t)(3 + cos(u)); z = sen(t) con t, u ∈ [0, 2π]. Asimismo, dibuje el cilindro circular recto (paralelo al eje OZ) que pasa por la curva en OXY de ecuación en polares r(t) = 4 cos(t), t ∈ [0, 2π]. 28. Dibuje la gráca 3D de contorno del paraboloide z = x2 + y 2 en el cuadrado [−2, 2] × [−2, 2]. los planos z = 0,5, z = 1, z = 1,5 y z = 2. Los niveles deben corresponder a los cortes con 2 2 2 Repita el ejercicio con la supercie z = x + y . ¾Por qué, en estos dos casos, las grácas 3D de niveles son tan similares? 12