Práctica 8. Funciones de varias variables.
En esta práctica definiremos funciones de varias variables reales y representaremos
gráficamente funciones de dos variables. También hallaremos límites reiterados y según
conjuntos.
1 Definición de funciones de varias variables.
En Maxima las funciones de varias variables se definen y se evalúan de forma similar a
las funciones de una variable.
(%i1) | f(x,y):=x^2-y^2; |
(%i2) | f(1,2); |
(%i3) | g(x,y,z):=sin(x*y)+y/z-2*z; |
(%i4) | g(1,2,3); |
Ej. Defina una función A que calcule el área de un triángulo tomando como variables la longitud
de la base (b) y la longitud de la altura (h). Evalúe la función en (b,h)=(10,5).
(Sol. 25 .)
Ej. Dadas a,b y c las longitudes de los lados de un triángulo, las siguientes funciones definen
el semiperímetro y el área de un triángulo según la fórmula de Herón. Calcule el área de
un triángulo cuyos lados miden 120, 150 y 200 metros.
¿Puede calcular el área de un triángulo de lados a=80, b=70 y c=160?
(Sol. Área = 25*sqrt(128639) = 8966.569856974293 ).
(%i5) | s(a,b,c):=(a+b+c)/2; |
(%i6) | S(a,b,c):=sqrt( s(a,b,c) * (s(a,b,c)-a) * (s(a,b,c)-b) * (s(a,b,c)-c) ); |
En esta práctica estudiaremos funciones reales de dos variables reales, esto es, cuyo
dominio está dentro del plano, y la imagen de la función es un conjunto de números
reales.
Recordamos que el comando functions nos devuelve una lista de las funciones que se hayan
definido, y que la instrucción kill(functions) borra de la memoria dichas las funciones.
(%i7) | functions; |
(%i8) | kill(functions); |
2 Gráficas.
Para dibujar gráficas de dos variables en una ventana usamos la orden plot3d, en la que
podremos incluir una o varias expresiones (funciones) y los rangos para las variables
siguiendo esta sintaxis:
plot3d(expresiones, [variable,min,max], [variable,min,max], opciones) .
En estás gráficas el dominio de representación será rectángular.
Definimos una función de ejemplo y la representamos. La ventana que se abrirá puede
cambiarse de tamaño, y también se puede cambiar el punto de vista pinchando y arrastrando
el ratón.
(%i9) | f(x,y):=exp(-(x^2+y^2)); |
(%i10) | plot3d(f(x,y),[x,-2,2],[y,-1,1]); |
Con la misma sintaxis, el comando wxplot3d representa gráficas de dos variables, pero en
el espacio de trabajo de wxMaxima, sin abrir una ventana nueva.
(%i11) | wxplot3d( exp(-(x^2+y^2)) ,[x,-2,2],[y,-1,1]); |
También se pueden representar gráficas de dos variables mediante sus curvas de nivel.
Una curva de nivel de una función de dos variables f(x,y), está formada por los puntos
del plano que verifican que f(x,y)=C, donde C es una constante. Así, una curva de nivel
está formada por los puntos de la gráfica que están a una misma altura.
En Maxima las curvas de nivel se representan con el comando wxcontour_plot
(o contour_plot) que tiene una sintaxis similar a la del comando wxplot3d.
(%i12) | wxcontour_plot( exp(-(x^2+y^2)) ,[x,-2,2], [y,-1,1]); |
A la vista de los colores de la leyenda se puede saber qué curva de nivel está más alta y
cuál más baja. Esta información puede ser de utilidad para localizar gráficamente máximos
o mínimos relativos.
Ej. Halle la gráfica y las curvas de nivel de la función t(x,y)=sen(xy) para -2<=x<=2,
-2<=y<=2.
3 Límites.
Maxima no tiene una orden para realizar límites dobles. Sin embargo, al estudiar el
límite doble de una función aparecen límites de una variable, que sí pueden realizarse
con este programa. En concreto, podemos usar la orden limit para calcular un límite según
una recta o una curva, o para calcular límites reiterados.
(%i13) | f(x,y):=(x-y)/(x+y); |
(%i14) | limit( limit(f(x,y),x,0) ,y,0); |
(%i15) | limit( limit(f(x,y),y,0) ,x,0); |
Como los límites reiterados son distintos, la función no tiene límite en (0,0) y por
tanto no es continua en ese punto. Para poder apreciar mejor esta discontinuidad,
representamos la función indicando en las opciones de plot3d que se den más valores (80)
a las variables x e y.
(%i16) | plot3d(f(x,y),[x,-1,1],[y,-1,1],[z,-5,10],['grid, 80, 80]); |
Ejercicio: Calcule los límites reiterados de g(x,y)=(x^2-y^2)/(x^2+y^2) en el punto
(0,0).
(Sol. -1, 1)
En el siguiente ejemplo calculamos los limites segun las rectas y=m*x. Como el limite
depende de m, es decir, depende de la recta que se considere para acercarse al punto
(0,0), se concluye que el limite doble para (x,y)->(0,0) no existe.
(%i17) | g(x,y):=(x^2-y^2)/(x^2+y^2); |
(%i18) | limit(g(x,m*x),x,0); |
(%i19) | plot3d(g(x,y),[x,-1,1],[y,-1,1]); |
Ejercicio: Calcule los límites según la recta y=m*x de la función
g(x,y)=(x^2*y)/(x^3+y^3) en el punto (0,0).
(Sol. m/(m^3+1) .)
4 Ejercicios.
Ej. Se sabe que un lado de un triángulo mide a=100 metros, usando la fórmula de Herón,
dibuje la gráfica de la función que da el área del triángulo para valores de b
comprendidos entre 70 y 180, y valores de c comprendidos entre 80 y 170. ¿Aprecia, en la
gráfica representada, algún máximo de la función S? ¿Podría representar la función S en
un dominio menor que contenga ese máximo?
Ej. Dibuje la grafica de la funcion f(x,y)=cos(x^2+y^2), asi como las curvas de nivel
para -2<=x<=2, -2<=y<=2.
Ej. La función que se define a continuación tiene varios puntos críticos en el dominio
-2<=x<=2, -2<=y<=2. Encuentre gráficamente para qué valores de las variables x e y se
alcanzan el mayor y el menor valor de la función.
(%i20) | f(x,y):=(x^2+3*y^3)*exp(1-x^2-y^2); |
Ej. Halle los límites de la función h(x,y)=xy^2 /(x^2+y^4) en (0,0) según las rectas
y=m*x. Idem según las curvas x=u*y^2.
(Sol. 0, u/(u^2+1) .)
Ej. Estudie la continuidad de la funcion f(x,y)=( - x^2+y^2)/(x^2+y^4) si (x,y) es distinto
de (0,0) y f(0,0)=0.
(Sol. No es continua )