Escuela Politécnica de Ingenierı́a de Ferrol
Cálculo I
Material de Apoyo:
Matlab para Cálculo
Manuel Ruiz
Escuela Politécnica de Ingenierı́a de Ferrol,
Universidade da Coruña
Ferrol, Curso 2024 - 2025
Material de Apoyo: Matlab para Cálculo 2/10
1 Introducción
Vamos a ver diferentes comandos que podemos encontrar en matlab relacionados con el
temario visto en la asignatura de Cálculo.
2 Variables simbólicas
Matlab puede trabajar con lo que se conoce como variables simbólicas, es decir, variables
que no tienen asignado un valor especı́fico hasta que el usuario quiera asignarle uno para
evaluar una determinada expresión. De esta forma, si se quiere introducir una función
que dependa de la variable x, tendremos que declarar dicha variable como simbólica de
cualquiera de estas dos formas:
>>x=sym(’x’)
o bien
>>syms x
Cabe destacar que de la segunda forma es posible declarar todas las variables simbólicas
en una misma sentencia, separadas por espacios en blanco.
Para evaluar una función con un valor concreto de la variable simbólica, utilizaremos el
comando >>subs, introduciendo entre paréntesis primero el nombre de la función que
vamos a evaluar y luego el valor que asignamos a nuestra variable simbólica.
Por ejemplo, vamos a evaluar la función f (x) = x2 − 3x + 2 para x = 2.
>>syms x
>>f=xˆ2-3*+2;
>>subs(f,2)
ans=
Un aspecto importante que hay que tener en cuenta es que el comando >>subs siempre
evalúa funciones de tipo simbólico y el resultado que devuelve es considerado también
simbólico. Si quisiésemos guardar el resultado obtenido al evaluar la función como una
variable común, debemos utilizar el comando >>double(ans). Por ejemplo, para
guardar nuestra evaluación de f (x) para x = 2 dentro de la variable evalx teclearemos
>>evalx=double(ans)
Cálculo I – Escuela Politécnica de Ingenierı́a Curso 2024 - 2025
Material de Apoyo: Matlab para Cálculo 3/10
3 Funciones de una variable
3.1 Lı́mites
Para calcular lı́mites Matlab trabaja con variables simbólicas. El comando a emplear es
>>limit(f,x,punto). Por ejemplo, si queremos calcular
x−1 0
lim = =0
x→1 x2 − 5x + 6 2
la secuencia de comandos a utilizar será:
>>syms x
>>f=(x-1)/(xˆ2-5*x+6);
>>limit(f,x,1)
ans=
Para calcular lı́mites en el infinito, hay que especificar el argumento inf. Otro aspecto a
tener en cuenta es que Matlab ya utiliza internamente sus métodos para calcular indetermi-
naciones. Por ejemplo, si estudiamos ahora el lı́mite:
x−1 0 1 1
lim = = {L’Hop} = lim =−
x→1 −x2 − 5x + 6 0 x→1 −2x − 5 7
>>syms x
>>g=(x-1)/(-xˆ2-5*x+6);
>>limit(g,x,1)
ans=
-1/7
vemos que directamente nos proporciona el resultado correcto.
Matlab también permite el cálculo de lı́mites laterales. Por ejemplo, podemos comprobar
que Matlab no contesta con un error al pedirle que calcule el siguiente lı́mite
Cálculo I – Escuela Politécnica de Ingenierı́a Curso 2024 - 2025
Material de Apoyo: Matlab para Cálculo 4/10
x2 − 5x + 4 −2
lim =
x→2 x−2 0
>>syms x
>>f=(xˆ2-5*x+4)/(x-2);
>>limit(f,x,2)
ans=
NaN
Por lo tanto, podemos deducir que los lı́mites laterales, si existen, no coincidirán.
Para especificarle a Matlab que queremos calcular un lı́mite lateral introduciremos como
tercer argumento ’Right’ o ’Left’ en función de la dirección desde donde nos estemos
acercando al punto en cuestión.
Ası́ pues podemos comprobar si ambos lı́mites laterales coinciden o no para nuestro
ejemplo:
>>limit(f,x,2,'Right')
ans=
-Inf
>>limit(f,x,2,'Left')
ans=
Inf
Como era de esperar, no coinciden.
3.2 Derivadas en funciones de una variable
Para calcular las derivadas de una función es necesario definirla de manera simbólica
previamente y luego utilizar el comando >>diff. Para obtener derivadas sucesivas sólo
hay que indicar el orden de derivación en el segundo o tercer argumento.
√
Por ejemplo, vamos a obtener la primera y segunda derivada de f (x) = x2 − 1:
Cálculo I – Escuela Politécnica de Ingenierı́a Curso 2024 - 2025
Material de Apoyo: Matlab para Cálculo 5/10
Primero definimos la función y luego calculamos la primera derivada
>>syms x
>>f=sqrt(xˆ2+1);
>>diff(f)
ans=
x/(xˆ2 + 1)ˆ(1/2)
Para obtener la derivada de orden 2:
>>diff(f,2)
ans=
1/(xˆ2 + 1)ˆ(1/2) - xˆ2/(xˆ2 + 1)ˆ(3/2)
Nota: existe una forma de que Matlab nos simplifique esta expresión (siempre que sea
posible). Para ello debemos utilizar el comando >>factor o el comando >>simplify:
>>factor(ans)
ans=
1/(xˆ2 + 1)ˆ(3/2)
4 Funciones de varias variables
4.1 Lı́mites
Dada una función de varias variables vamos a ver cómo podemos estudiar lı́mites direc-
cionales y lı́mites en polares.
Para ello vamos a ver un ejemplo con una función de dos variables. El lı́mite que queremos
resolver es el siguiente:
x2 − y 2 0
lim 2 2
=
(x,y)→(0,0) 2x + y 0
Cálculo I – Escuela Politécnica de Ingenierı́a Curso 2024 - 2025
Material de Apoyo: Matlab para Cálculo 6/10
Primero vamos a resolver dicho lı́mite empleando lı́mites direccionales siguiendo rectas
de la forma y = mx. Para ello cambiaremos la variable y de la función por mx, siendo
necesario previamente haber definido m como otra variable simbólica. Ası́ pues el proceso
seguido será el siguiente:
>>syms x y m
>>f(x,y)=(xˆ2-yˆ2)/(2*xˆ2+yˆ2);
>>limit(f(x,m*x),x,0)
ans=
-(mˆ2 - 1)/(mˆ2 + 2)
Como podemos observar, el lı́mite dependerá de la pendiente m por lo que concluı́mos
que dicho lı́mite no existe. Además, también hemos cambiado la manera en que hemos
definido la función f , indicándole ahora a Matlab de manera más explı́cita que depende de
las variables x e y.
Si quisiésemos calcular de nuevo dicho lı́mite pero ahora empleando coordenadas polares,
primero definimos las nuevas variables simbólicas r = ρ y t = φ por ejemplo. Y luego
calcularemos el lı́mite sustituyendo las variables x e y por sus correspondientes expresiones
en coordenadas polares (x = ρcos(φ), y = ρsen(φ)).
>>syms x y r t
>>f(x,y)=(xˆ2-yˆ2)/(2*xˆ2+yˆ2);
>>limit(f(r*cos(t),r*sin(t)),r,0)
ans=
(2*sin(t)ˆ2 - 1)/(sin(t)ˆ2 - 2)
Y como podemos comprobar, de nuevo el lı́mite depende de la dirección de aproximación
al punto en cuestión, por lo que dicho lı́mite no existe.
4.2 Derivación de funciones de varias variables
En el caso de funciones de varias variables, debe especificarse con respecto a qué variable
se deriva, obteniendo con ello las derivadas parciales.
Por ejemplo, vamos a calcular las primeras derivadas parciales de la función f (x, y) =
3x2 − y 2 + 6:
Cálculo I – Escuela Politécnica de Ingenierı́a Curso 2024 - 2025
Material de Apoyo: Matlab para Cálculo 7/10
δf
Para calcular
δx
>>syms x y
>>f=3*xˆ2-yˆ2+6;
>>diff(f,x)
ans=
6*x
δf
y para calcular
δy
>>diff(f,y)
ans=
-2*y
Para calcular derivadas sucesivas, hay que indicar como argumentos las variables con
respecto a las cuales se quiere ir derivando. Por ejemplo, si queremos calcular la derivada
segunda de f (x, y) con respecto de x dos veces:
>>diff(f,x,x)
ans=
4.3 Vector gradiente
Dada una función de varias variables, por ejemplo f (x, y, z), se puede hallar directamente
su vector gradiente utilizando Matlab. Para calcular este vector, formado por las primeras
derivadas de la función con respecto a cada una de las variables:
>>G=gradient(f,v)
El cual devuelve en G el vector gradiente de la función f, derivando con respecto a cada
una de las variables indicadas en el vector v.
Cálculo I – Escuela Politécnica de Ingenierı́a Curso 2024 - 2025
Material de Apoyo: Matlab para Cálculo 8/10
Por ejemplo, sea la función f (x, y, z) = xy + 2zx su vector gradiente lo calcularemos
como:
>>syms x y z
>>f=x*y+2*z*x;
>>gradient(f,[x y z])
ans =
y + 2*z
x
2*x
4.4 Matriz Jacobiana y Hessiana
La matriz Jacobiana es la matriz formada por las primeras derivadas parciales de la función.
El comando para calcular dicha matriz es el comando >>jacobian(f,v) cuyos ar-
gumentos funcionan de manera análoga a los del comando >>gradient(f,v). El
comando >>jacobian tiene la peculiaridad de que si la función estudiada es una función
escalar, el resultado de emplear dicho comando será un vector y coincidirá (lógicamente)
con calcular el vector gradiente de dicha función.
Por ejemplo, vamos a calcular el jacobiano de la función anterior y vamos a comprobar
que coincide con el vector gradiente:
>>jacobian(f,[x y z])
ans=
[y + 2*z, x, 2*x]
Con respecto a la matriz Hessiana (matriz formada por las derivadas de orden 2 de la
función), el comando a utilizar es el comando >>hessian(f,v).
Por ejemplo, vamos acalcular la matriz Hessiana de la función f (x, y) = 2x2 + y 2 + 8x −
6y + 20.
>>syms x y
>>f=2*xˆ2+yˆ2+8*x-6*y+20;
>>hessian(f,[x y])
Cálculo I – Escuela Politécnica de Ingenierı́a Curso 2024 - 2025
Material de Apoyo: Matlab para Cálculo 9/10
ans =
[4, 0]
[0, 2]
Nota: En este ejemplo, la matriz Hessiana está formada por valores constantes y no
depende de las variables x e y, es decir, no depende del punto donde es evaluado. Como
esto no es siempre ası́, podemos evaluar la matriz Hessiana en el punto que nos interese
con el comando ya mencionado >>subs. Por ejemplo, si hubiésemos guardado una
matriz Hessiana con elementos que dependan de las variables x e y dentro de la variable
A, si quisiésemos obtener la matriz Hessiana para el punto (0, 1) utilizarı́amos el siguiente
comando:
>>subs(A,{x,y},{0,1})
4.5 Puntos crı́ticos
Los puntos crı́ticos son aquellos que anulan el vector gradiente. Para calcularlos, primero
debemos obtener dicho vector y luego resolver el sistema de ecuaciones.
Por ejemplo, vamos a calcular los puntos crı́ticos de la función f (x, y) = xy(1 − x2 − y 2 ).
Primero calcularemos el vector gradiente:
>>syms x y
>>f=x*y*(1-xˆ2-yˆ2)
>>gradient(f,[x y])
ans =
- 2*xˆ2*y - y*(xˆ2 + yˆ2 - 1)
- 2*x*yˆ2 - x*(xˆ2 + yˆ2 - 1)
Simplificamos estas expresiones (si es posible) y luego resolvemos el sistema empleando
el comando >>solve
>>simplify(ans)
ans =
-y*(3*xˆ2 + yˆ2 - 1)
-x*(xˆ2 + 3*yˆ2 - 1)
Cálculo I – Escuela Politécnica de Ingenierı́a Curso 2024 - 2025
Material de Apoyo: Matlab para Cálculo 10/10
>>[S1,S2]=solve(-y*(3*xˆ2 + yˆ2 - 1),-x*(xˆ2 + 3*yˆ2 - 1))
S1 =
0
-1
1
0
0
-1/2
1/2
-1/2
1/2
S2 =
0
0
0
-1
1
-1/2
-1/2
1/2
1/2
Es decir, se encuentran 9 posibles puntos, donde en S1 se han colocado las opciones de la
variable x mientras que en S2 están las de la variable y. Los puntos crı́ticos a clasificar son:
(0, 0), (−1, 0), (1, 0), (0, −1), (0, 1), (−1/2, −1/2), (1/2, −1/2), (−1/2, 1/2), (1/2, 1/2).
Para estudiar si los puntos crı́ticos son extremos relativos tendrı́amos que calcular la matriz
Hessiana y evaluar cada uno de estos puntos en dicha matriz.
Cálculo I – Escuela Politécnica de Ingenierı́a Curso 2024 - 2025