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

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

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

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

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

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])