Modelo para los ejercicios de la practica 3

En este documento se recogen alguna de las soluciones de los ejercicios propuestos en la sesion III.

La salida que devuelve Matlab esta en gris claro.

Comandos utilizados en esta practica

inline, vectorize, plot, limit

Contents

Ejercicio 1.1 Dibujar algunas funciones

Funcion

$$x\sin (x)$$

Definimos la funcion (recuerda que sin es la funcion seno)

f=vectorize(inline('x*sin(x)','x'))
f =

     Inline function:
     f(x) = x.*sin(x)

Elegimos intervalo de dibujo, (-6*pi,6*pi), y numero de puntos 1000

t=linspace(-6*pi,6*pi,1000);

Dibujamos

plot(t,f(t))

funcion

$$x\sqrt{\cos(x)}$$

Definimos la funcion

f3=vectorize(inline('x*sqrt(cos(x))','x'))
f3 =

     Inline function:
     f3(x) = x.*sqrt(cos(x))

Elegimos intervalo de dibujo, (-8*pi,8*pi), y numero de puntos 1000

t=linspace(-8*pi,8*pi,1000);

Dibujamos

plot(t,f3(t))
Warning: Imaginary parts of complex X and/or Y arguments ignored 

Observa que se devuelve un aviso. Esencialmente, se informa de que para algunos valores, la funcion es compleja (donde?) y que en esos sitios no se dibuja

funcion

$$\frac{\cos(x)}{(1-x^2/2)}$$

f4=vectorize(inline('cos(x)/(1-x^2/2)','x'))
f4 =

     Inline function:
     f4(x) = cos(x)./(1-x.^2./2)

para asegurarnos que la funcion esta bien escrita, podemos utilizar el comando pretty (requiere que la toolbox de simbolico esta instalada)

syms x
pretty(f4(x))
    cos(x)
  - ------
     2
    x
    -- - 1
     2

es correcto. Dibujamos entre -4,4

t=linspace(-4,4,1000);
plot(t,f4(t))

Vemos que hay asintotas verticales. Redibujamos cerca del cero, por ejemplo, entre (-1,1)

t=linspace(-1,1,1000);
plot(t,f4(t))

Ejercicio 1.2 Dibujar simultaneamente algunas funciones

El objetivo del presente ejercicio es que visualiceis juntas algunas funciones y sus "equivalencias", cerca del cero. En algunos casos habrá que hacer "zooms" fuertes para ver la diferencia entre ambas

Función c

fc=vectorize(inline('sin(x)','x'))
fc2=vectorize(inline('x-x^3/6','x'))
fc =

     Inline function:
     fc(x) = sin(x)


fc2 =

     Inline function:
     fc2(x) = x-x.^3./6

Tomamos 5000 puntos en [-\pi,\pi]

t=linspace(-pi,pi,5000);
plot(t,fc(t),t,fc2(t))
legend('sin(x)','x-x^3/6')

No vemos mucha semejanza... Nos acercamos al cero, bien dando otros valores a t y redibujando, o simplemente con xlim

xlim([-1,1]) % x en [-1,1]

Otra forma de ver su parecido es dibujar la función diferencia:

plot(t,fc(t)-fc2(t))

y ahora para valores muy cercanos a cero

ylim([-1e-5,1e-5])

Función d

fd=vectorize(inline('log(1+x)','x'))
fd2=vectorize(inline('x','x'))
fd3=vectorize(inline('x-x^2/2','x'))
fd =

     Inline function:
     fd(x) = log(1+x)


fd2 =

     Inline function:
     fd2(x) = x


fd3 =

     Inline function:
     fd3(x) = x-x.^2./2

Tomamos 5000 puntos en [-1,1]. Observa que cuando x=-1, hay una asintota (por que?)

t=linspace(-1,1,5000);
plot(t,fd(t),t,fd2(t),t,fd3(t))
legend('log(1+x)','x','x-x^2/2')

De nuevo debemos acercanos para ver que son muy parecidas cerca (pero solo cerca) del cero

xlim([-0.4,0.4]) % x en [-1,1]

Podemos dibujar otra la función diferencia:

plot(t,fd(t)-fd2(t),t,fd(t)-fd3(t))
legend('log(1+x)-x', 'log(1+x)-(x-x^2/2)')

y ahora cerca de 0

ylim([-1e-2,1e-2])

Problema 1.4

Calculo de limites

Funcion 1.4a

f=vectorize(inline(' ((3*x-1)/(x+1))^((x+1)/(x-1))','x'))
f =

     Inline function:
     f(x) = ((3.*x-1)./(x+1)).^((x+1)./(x-1))

Vemos f para ver si está bien introducida

syms x
pretty(f(x))
             x + 1
             -----
             x - 1
  / 3 x - 1 \
  | ------- |
  \  x + 1  /

Calculamos el limite

limit(f(x),x,1)
 
ans =
 
exp(2)
 

Funcion 1.4b

f=vectorize(inline(' (1/(x-3))^((x^2-x-6)/(2*x^2-4*x-6))','x'))
f =

     Inline function:
     f(x) = (1./(x-3)).^((x.^2-x-6)./(2.*x.^2-4.*x-6))

Vemos f para ver si está bien introducida

syms x
pretty(f(x))
                2
             - x  + x + 6
           ----------------
                2
           - 2 x  + 4 x + 6
  /   1   \
  | ----- |
  \ x - 3 /

Calculamos el limite

limit(f(x),x,3)
 
ans =
 
NaN
 

Nan.... el limite no existe. Hacemos limite por direcciones

limit(f(x),x,3,'right')
limit(f(x),x,3,'left')
 
ans =
 
Inf
 
 
ans =
 
i*Inf - Inf
 

Lo que sucede es que la funcion

$$(\frac{1}{x-3})^{\frac{x^2-x-6}{2x^2-4x-6}}$$

solo existe para x>3:

t=linspace(2,4,1000);
plot(t,f(t))

% Si observamos está avisando de que tiene valores complejos, que
% corresponde a los puntos t<3 (Matlab dibuja la parte real)
Warning: Imaginary parts of complex X and/or Y arguments ignored 

Funcion 1.4d

f=vectorize(inline(' log(1+x)/(cos(exp(x^2)-1)-1)','x'))
f =

     Inline function:
     f(x) = log(1+x)./(cos(exp(x.^2)-1)-1)

Vemos f para ver si está bien introducida

syms x
pretty(f(x))
        ln(x + 1)
  --------------------
           2
  cos(exp(x ) - 1) - 1

Calculamos el limite

limit(f(x),x,0)
 
ans =
 
NaN
 

Limites laterales

limit(f(x),x,0,'right')
limit(f(x),x,0,'left')
 
ans =
 
-Inf
 
 
ans =
 
Inf
 

Asintota en x=0

Funcion 1.4g

f=vectorize(inline(' sqrt(x-sqrt(x))-sqrt(x)','x'))
f =

     Inline function:
     f(x) = sqrt(x-sqrt(x))-sqrt(x)

Vemos f para ver si está bien introducida

syms x
pretty(f(x))
        1/2 1/2    1/2
  (x - x   )    - x

Calculamos el limite

limit(f(x),x,inf)
 
ans =
 
-1/2
 

Un dibujo para ver esto

t=linspace(1,100,1000);
plot(t,f(t))

Funcion 1.4j

f=vectorize(inline('(x*cos(sqrt(abs(x)))-x)/(sin(x^2))','x'))
f =

     Inline function:
     f(x) = (x.*cos(sqrt(abs(x)))-x)./(sin(x.^2))

Comprobamos si f está bien introducida

syms x
pretty(f(x))
                 1/2
    x - x cos(|x|   )
  - -----------------
              2
         sin(x )

Calculamos el limite

limit(f(x),x,0)
 
ans =
 
NaN
 

No exists. Procedemos a hacer el limite por direcciones:

limit(f(x),x,0,'left')
limit(f(x),x,0,'right')
 
ans =
 
1/2
 
 
ans =
 
-1/2
 

Un dibujo para ver esto

t=linspace(-1,1,1000);
plot(t,f(t))

Problema 1.4

Calculo de asíntotas

Problema 1.5

$$\frac{x^3-2x^2+1}{x^2+4x-5}$$

Introducimos la funcion

f=vectorize(inline('(x^3-2*x^2+1)/(x^2+4*x-5)','x'))
f =

     Inline function:
     f(x) = (x.^3-2.*x.^2+1)./(x.^2+4.*x-5)

Comprobamos que esta bien introducida

syms x
pretty(f(x))
   3      2
  x  - 2 x  + 1
  -------------
    2
   x  + 4 x - 5

Todo correcto.

Pasamos a buscar asintotas horizontales: limite en el infinito

limit(f(x),x,inf)
limit(f(x),x,-inf)
 
ans =
 
Inf
 
 
ans =
 
-Inf
 

No hay asintotas horizontales.

Asintotas oblicuas en infinito

limit(f(x)/x,x,inf)
 
ans =
 
1
 

Parece que si. Recogemos el valor del limite utilizando ans o bien tecleando

m=limit(f(x)/x,x,infty)

al principio

m=ans;
b=limit(f(x)-m*x,x,inf)
 
b =
 
-6
 

por tanto, y=x+6 es una asintota en el infinito. Podemos proceder igual en menos infinito.

m2=limit(f(x)/x,x,-inf)
b2=limit(f(x)-m2*x,x,-inf)
 
m2 =
 
1
 
 
b2 =
 
-6
 

Asíntotas verticales. Estas requieren encontrar los puntos donde la funcion tiende a mas o menos infinito.

Vamos alla. Utilizamos una nueva funcion, solve, que resuelve ecuaciones

solve(x^2+4*x-5,'x')
%
% Dos posibles puntos, -5 y 1
limit(f(x),x,-5,'right')
limit(f(x),x,-5,'left')
limit(f(x),x,1,'right')
limit(f(x),x,1,'left')
 
ans =
 
 -5
  1
 
 
ans =
 
Inf
 
 
ans =
 
-Inf
 
 
ans =
 
-1/6
 
 
ans =
 
-1/6
 

Encontramos por tanto una única asinto en -5 (en -1 hay limite). Finalmente podemos dibujar funcion y asintotas oblicuas (la vertical se ve mas claramente)

asintota=vectorize(inline('x-6','x'))
t=linspace(-20,20,5000);
plot(t,f(t),t,asintota(t))
legend(char(f(x)),char(asintota(x)))
asintota =

     Inline function:
     asintota(x) = x-6

char es una funcion que transforma todo a "caracteres". Se puede utilizar, como en este caso, para no tener que teclear directamente el nombre de la funcion.

En cualquier caso, no vemos nada porque Matlab trata de captar toda la grafica de la funcion y da valores desproporcionados. "Cortamos en y"

ylim([-40,40])