Está en la página 1de 50

27 y 28 de Octubre del 2011

FOROS ACADÉMICOS
CÁLCULO DIFERENCIAL E INTEGRAL
METAL-MECÁNICA
2011 EN MATLAB

Instituto Tecnológico de la Laguna | Juan Manuel Jiménez


Israel Montoya
Ricardo Vargas
Omar Carrillo
1 Introducción | FOROS ACADÉMICOS METAL-MECÁNICA 2011
Contenido
Introducción ........................................................................................................................................ 4
Interfaz de MATLAB............................................................................................................................. 5
Manejo elemental de MATLAB en ventana de comandos .................................................................. 9
Funciones y operaciones básicas ...................................................................................................... 10
Operaciones matemáticas elementales ........................................................................................ 10
Funciones más comunes ............................................................................................................... 10
Symbolic Math Toolbox..................................................................................................................... 11
Simplificación y sustitución ............................................................................................................... 11
collect(f) .................................................................................................................................... 12
expand(f) ................................................................................................................................... 12
factor(f) ..................................................................................................................................... 13
simplify(f)................................................................................................................................... 14
pretty(f) ..................................................................................................................................... 15
subs(S,new,old) ......................................................................................................................... 15
Calculo Diferencial............................................................................................................................. 17
Límites ........................................................................................................................................... 17
limit(f,x,a) .................................................................................................................................. 17
Diferenciales .................................................................................................................................. 21
Diff(f,v,n) ................................................................................................................................... 21
Aplicaciones de la derivada ............................................................................................................... 24
Máximos y mínimos ...................................................................................................................... 24
fminbnd()................................................................................................................................... 24
Integración ........................................................................................................................................ 31
Cálculo de primitivas ..................................................................................................................... 31
int( ) ........................................................................................................................................... 31
Integrales definidas ....................................................................................................................... 32
Aplicaciones................................................................................................................................... 36
Cálculo de áreas ........................................................................................................................ 36
Volumen de un cuerpo de revolución ....................................................................................... 45
Longitud de arcos de curvas ...................................................................................................... 47
Otros comandos ................................................................................................................................ 49

Calculo Diferencial e Integral con MATLAB| Introducción 2


vpa( ).......................................................................................................................................... 49

Calculo Diferencial e Integral con MATLAB| Introducción 3


Introducción

En la actualidad, el manejo de los distintos programas computacionales para la solución de


problemas de ingeniería ha pasado de ser un lujo a una necesidad. El trabajo presentado a
continuación constituye una guía de aprendizaje de MATLAB básico con aplicaciones de cálculo
diferencial e integral, y se pretende sirva como apoyo a los alumnos de Ingeniería mecatrónica en
el Instituto Tecnológico de la Laguna.

MATLAB, es un software ampliamente difundido en el campo de la docencia y la


investigación ya que es un lenguaje de alto nivel para cálculo científico con gran potencial y fácil
de manejar, ya que cuenta con distintos paquetes ó toolbox, las cuales le permiten al usuario
resolver problemas utilizando algoritmos específicos predefinidos, de los cuales, para este curso,
se tratara básicamente el paquete Symbolic Matlab Toolbox.

Este paquete nos permite realizar cálculos de manera simbólica, es decir, sin necesidad de
asignar un número a una variable y tratarla como una constante genérica, lo cual, nos permite
realizar operaciones de integración simbólica, derivación, calculo de áreas, volúmenes, etc.

Además, en este curso se tratan temas básicos acerca de graficación en dos y tres
dimensiones, los cuales servirán de apoyo para la comprensión de los resultados obtenidos.

Con este curso, se pretende que el alumno adquiera los conocimientos básicos necesarios
para resolver problemas de cálculo diferencial e integral, además de sus aplicaciones, dándole la
oportunidad de comprender de una manera más clara las aplicaciones de ésta extensa área,
además de las facilidades que nos brinda MATLAB para realizar este tipo de procedimientos.

Calculo Diferencial e Integral con MATLAB| Introducción 4


Interfaz de MATLAB

El primer paso antes de comenzar a trabajar con MATLAB, consiste en conocer la ventana
principal y sus componentes, los cuales se muestran a continuación:

Figura 1.-Ventana principal de MATLAB, en ella se señalan algunos de los campos mas importantes
como son: a)Current folder (Izquierda), b)Command Window (centro), c)Workspace (derecha
superior), d)Command History (derecha inferior).

 Current folder:

Este campo nos muestra el directorio en el cual MATLAB busca los archivos M-files y los
archivos de Workspace (.mat) los cuales pueden ser guardados para cargarse en otra sesión.

La importancia de esta carpeta radica en que en ella deben de encontrarse todos los
archivos que requerimos al momento de realizar cualquier proyecto, es por eso que se
recomienda tener una carpeta para cada proyecto en la cual se encuentren los archivos que
usaremos, y esta carpeta, debe estar activa al trabajar con este proyecto.

Calculo Diferencial e Integral con MATLAB| Interfaz de MATLAB 5


Para cambiar la carpeta seleccionada, podemos escribir o buscar utilizando la barra de
dirección en la parte superior o haciendo clic en el lado aun lado de ésta, como se muestra en
la Figura 2.

Figura 2.- Barra de dirección para seleccionar la carpeta actual (Current Folder).

 Command Window:

Las expresiones y declaraciones de MATLAB son evaluadas conforme se van tecleando en


la Command Window o ventana de comandos, y los resultados, son mostrados en la misma
sección.

Figura 3.- En este ejemplo, se muestra como en la ventana de comandos se ingresa a la


variable t el valor de 5, para después evaluar la función y=sin(t) para dicho valor. Como
podemos apreciar, el resultado se muestra inmediatamente debajo de la instrucción tecleada
por el usuario.

 Workspace Window:

La ventana de trabajo, ó Workspace Window muestra todas las variables asignadas durante
una sesión de MATLAB.

Existen muchos tipos de datos o clases fundamentales en MATLAB y, cada uno de estos está
formado por un arreglo multidimensional.

Calculo Diferencial e Integral con MATLAB| Interfaz de MATLAB 6


Figura 4.- En el Workspace, podemos apreciar las variables almacenadas durante una sesión, las
cuales pueden tener distintos valores o ser de distintas clases. En esta imagen se pueden apreciar
4 variables de distintos tipos: a) Variable a: Esta variable contiene el arreglo tipo double [1,2,3,4].
b) Variable t: Esta variable contiene almacenado un número tipo double. c) Variable x: esta
variable se definió como un arreglo de 1x1 tipo simbólico. d) Variable y: Contiene un número
decimal tipo double.

Al escribir el comando whos en el Command Window, como resultado obtendremos una


lista de todas las variables guardadas en el Workspace, permitiéndonos visualizar claramente el
tamaño del arreglo de cada variable, además de su clase o tipo y su peso en Bytes.

Figura 5.- Uso del comando whos para visualizar un análisis detallado de las variables
almacenadas en el Workspace.

Calculo Diferencial e Integral con MATLAB| Interfaz de MATLAB 7


 Command History:

El historial de comandos, nos permite visualizar todos los comandos utilizados recientemente,
los cuales son almacenados para facilitarle al usuario el uso de comandos repetidamente, además
de poder visualizar todos los procedimientos realizados.

Estos comandos, conforme pasa el tiempo, se van ordenando por fecha y hora de ejecución, lo
cual nos permite verificar los comandos usados en casi cualquier momento en el pasado.

Una muy útil opción que nos brinda la Command Window de Matlab, es que, al presionar las
teclas de las flechas, podemos ir desplazándonos a través de los comandos del Command History,
lo cual nos absuelve de tener que escribir los mismos comandos repetidas veces.

Figura 6.- Vista de comandos archivados en el Command History, para insertarlos en la


ventana de comandos, basta con hacer doble clic sobre el en el Command History o navegar a
través de ellos con las flechas del teclado.

Calculo Diferencial e Integral con MATLAB| Interfaz de MATLAB 8


Manejo elemental de MATLAB en ventana de comandos

En MATLAB, los comandos deben introducirse uno a uno enseguida del prompt (>>), que
aparece en la ventana de comandos. Para familiarizarnos con el manejo de la ventana de
comandos de MATLAB, comenzaremos realizando algunas operaciones matemáticas básicas que
nos permitan entender el funcionamiento de la consola o ventana de comandos.

Para sumar dos números, es necesario introducir lo siguiente en la ventana de comandos:

>>3+2
Ans =
5

En el ejemplo, se presentan los comandos ingresados por el usuario en un fondo color


naranja, mientras que el resultado obtenido al presionar la tecla ENTER se muestra remaraca con
un fondo en color verde.

Como podemos apreciar, en el resultado se guardo automáticamente en una variable


llamada Ans, de la forma Ans=4. Esto sucede ya que, siempre que realicemos una operación sin
asignarla a una variable, esta por default se guardara en la variable ANS, sobrescribiendo el
resultado anterior.

Pero, ¿Qué pasaría si queremos conservar los valores de distintas operaciones?, en este
caso es necesario asignar la operación a una variable como se muestra en el ejemplo siguiente:

>>x=3*5
Ans =
15

Una vez realizadas las operación de suma y multiplicación anteriores, nuestro Workspace
debe lucir de la siguiente manera:

Figura 7.- Apariencia del Workspace después de realizar las operaciones anteriores. Se
pueden apreciar en el los valores resultantes de dichas operaciones.

Calculo Diferencial e Integral con MATLAB| Manejo elemental de MATLAB en ventana 9


de comandos
De esta manera, MATLAB nos permite realizar en la operación matemática tan sencilla
como los ejemplos hasta ahora mostrados, y a su vez, realizar cálculos matemáticos con niveles
de complejidad increíblemente elevados, convirtiéndose en una poderosa herramienta en
ingeniería.

En los siguientes capítulos, trataremos acerca de distintos temas, principalmente


enfocados al manejo de MATLAB para resolver problemas de cálculo diferencial e integral, tanto
de forma simbólica como numérica, y se busca ir pasando de problemas sencillos hasta problemas
con un nivel de complejidad un poco mas elevado, siempre buscando que el alumno entienda el
funcionamiento y la aplicación de MATLAB para resolver problemas que, como estudiantes de
ingeniería, se convertirán en parte de la vida diaria.

Funciones y operaciones básicas


A continuación, se presentan algunos tablas informáticas con los operadores matemáticos,
comandos funciones que serán utilizadas durante el curso.

Operaciones matemáticas elementales

Suma +
Resta -
División /
Exponenciación ^
Multiplicación *
Raíz cuadrada Sqrt()

Funciones más comunes

sin( ) Seno
cos( ) Coseno
tan( ) Tangente
sinh( ) Seno hiperbólico
cosh( ) Coseno hiperbólico
tanh( ) Tangente hiperbólico
asin( ) Arcoseno
acos( ) Arcocoseno
atan( ) Arcotangente
exp( ) Exponencial
log( ) Logaritmo neperiano
log10( ) Logaritmo decimal
abs( ) Valor absoluto

Calculo Diferencial e Integral con MATLAB| Funciones y operaciones básicas 10


Symbolic Math Toolbox
Con Symbolic Math Toolbox, el usuario cuenta con una serie de comandos que le
permitirán realizar cálculos simbólicos. Este toolbox, nos brinda las herramientas necesarias para
resolver y manipular expresiones matemáticas simbólicas generando resultados aritméticos de
gran precisión. Se cuenta con cientos de funciones simbólicas que nos permitirán realizar tareas
como:

 Diferenciar
 Integrar
 Operaciones algebraicas lineales
 Simplificación
 Transformación
 Aritmética de precisión variable
 Solución de ecuaciones

Simplificación y sustitución
Algunas de los comandos básicos que nos serán de gran ayuda al resolver problemas de
matemáticas simbólicas, y uno de los problemas con los que nos encontramos, es con la necesidad
de expresar una misma ecuación de distintas maneras, en el ejemplo siguiente, podemos apreciar
la misma ecuación expresada de tres formas distintas.

En el ejemplo siguiente, podemos apreciar la primera instrucción llamada syms seguida


por la letra x, lo cual nos indica que estamos asignando x como una variable simbólica en el
Workspace, lo cual nos permitirá trabajar con ella utilizando funciones del Symbolic Math Toolbox.

Otra dato importante es que, en la consola de MATLAB, podemos agregar comentarios, los
cuales son ignorados al ejecutar las instrucciones, es decir, solo tienen función informativa para el
usuario. En este ejemplo, podemos apreciar que al escribir el signo %, automáticamente el texto
que lo sigue aparece en color verde, lo cual quiere decir que es un comentario, y que será
ignorado al momento de realizar las operaciones.

>> syms x %Declara “x” como una variable simbólica


>> f = x^3 - 6*x^2 + 11*x - 6; %Guarda en f, g y h la misma función
>> g = (x - 1)*(x - 2)*(x - 3); %Expresada de distinta forma
>> h = -6 + (11 + (-6 + x)*x)*x;

Una vez ingresadas estas funciones a la consola de MATLAB, podemos apreciar que las
variables f,g y h, aparecerán en el Workspace, lo que quiere decir que las funciones han sido
guardadas correctamente y que podemos realizar con ellas una gran cantidad de operaciones, sin
tener que volver a escribirlas cada vez que las necesitamos.

Calculo Diferencial e Integral con MATLAB| Symbolic Math Toolbox 11


Figura 8.- Apariencia del Workspace después de insertar las funciones f, g y h del ejemplo
anterior.

Existen algunos comandos que dentro del Symbolic Math Toolbox que nos permiten
visualizar una de distintas formas. En el ejemplo anterior, vimos un ejemplo de tres ecuaciones
iguales expresadas en un modo distinto, pero, al fin de cuentas, no son más que la misma
ecuación. A continuación se menciona una breve descripción y ejemplo sobre el uso de algunos
comandos para simplificar una ecuación.

collect(f)
El comando collect(f) muestra junta todos los coeficientes con la misma potencia de la
variable simbólica, por ejemplo x. Un segundo argumento puede indicar la variable que se quiere
afectar, en el caso de tener varias variables.

Ejemplo:

>> syms x %Declaramos x como variable simbólica


>> f = (x-1)*(x-2)*(x-3); %ingresamos la función f
>> collect(f) %Aplicamos el comando collect
Ans =
x^3-6*x^2+11*x-7

Podemos observar en el resultado, que se efectuaron todas las multiplicaciones y los


términos se agruparon de mayor a menor grado.

expand(f)
El comando expand(f) tiene la función de distribuir los productos de una ecuación y aplicar
las identidades correspondientes generándonos ecuaciones de sumas, como se muestra en el
ejemplo.

Calculo Diferencial e Integral con MATLAB| Simplificación y sustitución 12


Ejemplo1:

>> syms a x y %Declaramos a,x,y como variables simbólicas


>> f = a*(x+y); %ingresamos la función f
>> expand(f) %Aplicamos el comando expand( )
Ans =
a*x+a*y

En este ejemplo, podemos apreciar que al aplicar el comando expand( ) a la función f,


obtuvimos como resultado que esta se expanda en términos suma.

Ejemplo 2:

>> syms a b %Declaramos a,x,y como variables simbólicas


>> f = exp(a+b); %ingresamos la función f
>> expand(f) %Aplicamos el comando collect
Ans =
exp(a)*exp(b)

En este ejemplo podemos apreciar que al aplicar el comando expand a la función f, el


resultado consiste en evaluar la función conociendo la identidad que nos dice que .
Es decir, se aplico la identidad correspondiente a la ecuación.

Ejemplo 3:

>> syms x y %Declaramos a,x,y como variables simbólicas


>> f = cos(x+y); %ingresamos la función f
>> expand(f) %Aplicamos el comando expand
Ans =
Cos(x)*cos(y)-sin(x)*sin(y)

En el tercer y último ejemplo de la función expand, también podemos apreciar la


aplicación de una identidad trigonométrica, la cual nos dice que
. Con lo cual, comprobamos el funcionamiento de el comando expand para
distintos casos.

factor(f)
Siendo f un polinomio con coeficientes racionales, el comando factor(f) expresa la función
f como un producto de polinomios de menor grado con coeficientes racionales. En caso de que el
polinomio f no pueda ser factorizado, el resultado será el mismo polinomio f en su forma original.

Calculo Diferencial e Integral con MATLAB| Simplificación y sustitución 13


Ejemplo:

>> syms x %Declaramos x como variables simbólicas


>> f = x^3-6*x^2+11*x-6; %ingresamos la función f
>> factor(f) %Aplicamos el comando factor
ans =
(x-3)*(x-1)*(x-2)

Podemos apreciar que el resultado al ejecutar el comando factor nos entrega la ecuación
factorizada, contrario a la función expand.

simplify(f)
La función simplify(f) es un poderoso comando de propósito general el cual aplica a una
ecuación identidades algebraicas, potencias, raíces cuadradas, potencias fraccionales, así como
una gran cantidad de identidades trigonométricas, exponenciales, logarítmicas, entre otras,
generándonos excelentes resultados.

Para dejar en claro el funcionamiento del comando simplify(f) se presentan los siguientes
ejemplos:

Ejemplo 1:

>> syms x
>> f = (1-x^2)/(1-x);
>> simplify(f)
ans =
x+1

En este ejemplo podemos apreciar como el comando simplify nos llevó de una función
compleja a una expresión notablemente más sencilla.

Ejemplo 2:

>> syms x y
>> f = exp(x)*exp(y);
>> simplify(f)
ans =
exp(x+y)

Calculo Diferencial e Integral con MATLAB| Simplificación y sustitución 14


En este ejemplo el comando simplify nos genero una ecuación mas sencilla utilizando la
identidad que nos dice que

Ejemplo 3:

>> syms x
>> f = cos(x)^2+sin(x)^2
>> simplify(f)
ans =
1

pretty(f)
El comando pretty(f) muestra la función f en un formato similar a la escritura natural
matemática.

Ejemplo 1:

>> syms x
>> f = 3*x^2-6*x^2+11*x-6;
>> pretty(f)
ans =
3 2
x - 6 x + 11 x - 6

Ejemplo 2:

>> syms x
>> pretty([x^3,x^2,x; 1,2,3])
ans =
+- -+
| 3 2 |
| x , x , x |
| |
| 1, 2, 3 |
+- -+

subs(S,new,old)
El comando subs(), reemplaza en la función S, la variable old por el valor de new, que
puede ser una variable, una función o un número. Existen distintas variantes en los parámetros
que se asignan al comando, mas sin embargo, para este curso básico solo usaremos la forma más
genérica del mismo.

Calculo Diferencial e Integral con MATLAB| Simplificación y sustitución 15


Ejemplo 1:

>> syms x y
>> f=x^3+3*x+2; %guardamos una función en la variable f
>> g=y; %guardamos otra función en la variable g
>> subs(f,g,x) %Sustituimos en la función f el valor de la función g,
%en lugar de la variable x
ans =

y^3 + 3*y + 2

Teniendo la función f=x^3+3*x+2 se pretende sustituir todas las letras x de la ecuación


por la función almacenada en g (es decir, “y”). Una vez efectuado el comando pretty(), podemos
apreciar que el resultado es la ecuación f, pero, todas las x fueron sustituidas por y.

Ejemplo 2:

>> syms x y
>> f=1/x^2;
>> subs(f,1/y,x)
ans =
y^2

En este ejemplo, podemos apreciar como sustituir en una función f, otra función (1/y)
escrita directamente como parámetro de la función subs(), es decir, sin tener que asignarlo antes a
una variable, como se hiso en el ejemplo 1, logrando así que todas las x se sustituyan por 1/y,
simplificándose y dando como resultado y^2.

Calculo Diferencial e Integral con MATLAB| Simplificación y sustitución 16


Calculo Diferencial
Hasta el momento, solo se han tratado temas acerca del uso y los comandos básicos de
MATLAB, los cuales han servido para familiarizarse con el manejo de esta poderosa herramienta
de cálculo y análisis matemático.

A partir de este momento se comenzaran a trabajar temas más a fondo acerca de las
herramientas que MATLAB nos brinda para la solución de problemas de cálculo diferencial e
integral. Se abordan temas que van desde los conceptos básicos del cálculo y como se desarrollan
en MATLAB hasta la resolución de problemas aplicados.

Límites
Un límite describe la tendencia de una función conforme va acercándose a determinado
valor. Esto quiere decir que, para el caso de una sucesión los términos se van aproximando a un
único número o punto específico, en caso de que este exista.

Dentro de los cientos de comandos del Symbolic Math Toolbox, de MATLAB, se cuenta con
el comando limit(f,x,a), y su funcionamiento se describe a continuación:

limit(f,x,a)
Esta función, permite calcular el límite de la función f, cuando la variable x tiende a a. Si es
una función de una sola variable (x) no es necesario especificarla, pudiendo teclear simplemente
limit(f,a), lo cual obtendrá el límite de la función f, cuando la única variable (por ejemplo, x) tiende
a a.

Ejemplo 1:

Calcular:

>> syms x
>> f=(1+1/x)^x;
>> limit(f,x,inf)
ans =
exp(1)

El resultado que nos arroja el comando limit() es ans=exp(1). Lo cual nos indica que al
evaluar la función para valores crecientes que tienden a infinito, el resultado que esta ecuación
nos arroje estará cada vez más cerca de el valor numérico de exp(1), es decir, 2.7183.

Para comprobar éste resultado, y dejar en claro el concepto del límite matemático, a
continuación graficaremos la función para observar más claramente el comportamiento de la
función que estamos analizando.
Calculo Diferencial e Integral con MATLAB| Calculo Diferencial 17
Por el momento, no se explicara a fondo el funcionamiento de los comandos utilizados,
pero serán analizados en capítulos posteriores. Repetiremos el procedimiento anterior,
desglosado paso a paso para lograr la comprensión del procedimiento realizado.

1. Declaramos “x” como variable simbólica

>> syms x

2. Guardamos en “f” la función que queremos analizar

>> f=(1+1/x)^x;

3. Obtenemos el límite de f cuando x tiende a infinito

>> limit(f,x,inf)

4. El resultado obtenido al presionar la tecla enter debe ser el siguiente:

ans =
exp(1)

5. Podemos visualizar el valor numérico de exp(1), escribiendo en la consola lo siguiente

>> exp(1)

6. El resultado obtenido debe ser:

ans =
2.7183

Una vez conocido el valor numérico al que tiende nuestra función, la graficaremos
utilizando el comando ezplot(f,[min, max]), el cual nos mostrara la gráfica de la función f, desde
min hasta max.

7. Escribimos el comando ezplot(f,[min,max]) para graficar la función, primeramente de


cero a 10.

>> ezplot(f,[0, 10])

Calculo Diferencial e Integral con MATLAB| Calculo Diferencial 18


Una vez ejecutado este comando, obtendremos la siguiente gráfica, la cual, obviamente,
corresponde a una exponencial y tiende a alcanzar el valor de 2.7183.

Figura 9.- Gráfica de la función (1+1/x)^x evaluada desde 0 hasta 10 usando el comando ezplot()

Esto lo podemos comprobar ó visualizar más fácilmente volviendo a graficar nuestra


función pero ahora desde 0 hasta 100 la siguiente línea:

>> ezplot(f,[0,100]);

Lo cual generara la siguiente gráfica:

Figura 10.- Gráfica de la función valuada desde 0 hasta 100 utilizando el


comando ezplot()

Calculo Diferencial e Integral con MATLAB| Calculo Diferencial 19


Como podemos apreciar, al comparar ambas graficas, por mas que aumente el valor de x,
siempre tiende a llegar a 2.71, lo cual comprueba que el resultado de la función lim(f,x,inf) es
correcto.

Ejemplo 2:

En este ejemplo, se pretende obtener el límite de la función f=1/x^2 cuando x tiende a 0.

1. Declaramos “x” como variable simbólica

>> syms x

2. Guardamos en “f” la función que queremos analizar.

>> f=1/x^2;

3. Obtenemos el límite de f cuando x tiende a cero.

>> limit(f,x,0)

4. El resultado obtenido al presionar la tecla enter debe ser el siguiente:

ans =
Inf

5. Escribimos el comando ezplot(f) para graficar la función. Para este caso, no vamos a
indicar el rango a graficar, dejaremos el que aparece por default.

>> ezplot(f)

Una vez ejecutado este comando, obtendremos la siguiente gráfica:

Calculo Diferencial e Integral con MATLAB| Calculo Diferencial 20


Figura 11.- Gráfica de la función f=1/x^2 obtenida mediante el comando ezplot(). Como podemos
apreciar la gráfica va tendiendo a infinito conforme se acerca al cero.

Diferenciales
Entre los cientos de comandos incluidos en el Symboic Math Toolbox, uno de los más
importantes en este curso es el comando diff(), el cual nos permite calcular la derivada de una
expresión algebraica simbólica. Este comando tiene muchas ventajas, ya que no solo nos permite
derivar una función, sino que es posible aplicarla a matrices, entregándonos la matriz de las
derivadas de cada término.

Diff(f,v,n)
En MATLAB es relativamente sencillo obtener la derivada simbólica de una función
utilizando el comando Diff(f,x,n) dónde:

f=función
v=variable
k=orden

Para visualizarlo de manera más clara, tenemos el siguiente ejemplo:

Ejemplo 1:
Encontrar:

1. Definimos x como variable


>> Syms x

2. Definimos la función f

Calculo Diferencial e Integral con MATLAB| Calculo Diferencial 21


>> f=sin(x);

3. Obtenemos la primera derivada de f, con respecto a x,

>> diff(f,x,1)

4. El resultado obtenido será:

ans =
cos(x)

Ejemplo 2:

Encontrar: a) b)

1. Definimos x como variable simbólica.

>> syms x

2. Definimos la función f

>> f=x^3+2*x^2-3*x+5;

3. Derivamos la función f

>> diff(f)

4. Como podemos apreciar abajo, el resultado obtenido con el comando diff(f), nos generó
como resultado la primera derivada de la función f.

ans =
3*x^2 + 4*x – 3

5. Ahora procederemos a obtener la tercera derivada de f, para lo cual si tendremos que


expresar el parámetro que indique el orden de la derivada.

>> diff(f,3)

6. El resultado obtenido nos muestra que la tercera derivada de éste sistema resulta ser una
constante.

Calculo Diferencial e Integral con MATLAB| Calculo Diferencial 22


ans =
6

Ejemplo 3:

a) Obtener: .
b) Obtener: .
c) Obtener: .
d) Obtener: .

1. Primeramente, declaramos como variables simbólicas a, b, c y x y definimos la función f

>> syms a b c x
>> f=a*x^2+b*x+c;

2. Para este caso, es necesario indicar con respecto a qué variable queremos derivar, para el
inciso a, vamos a derivar con respecto a x, de la siguiente manera:

>> diff(f,x)
ans =
b + 2*a*x

3. Para el inciso b, vamos a derivar con respecto a a, de la siguiente manera:

>> diff(f,a)
ans =
x^2

4. Así sucesivamente, obtendremos las derivadas con respecto a b y c, lo cual nos generara los
siguientes resultados:

>> diff(f,b)
ans =
x
>> diff(f,c)
ans =
1

Calculo Diferencial e Integral con MATLAB| Calculo Diferencial 23


Aplicaciones de la derivada

Máximos y mínimos
En este capítulo, trataremos diferentes formas de obtener los máximos y mínimos de una
función.

fminbnd()
Existen distintos métodos para calcular los máximos y mínimos de una función en un
intervalo definido. Uno de los más sencillos consiste en utilizar la función
fminbnd(‘funcion’,min.max). Donde los valors min y max definen el intervalo en el que queremos
obtener el valor mínimo.

Para obtener el valor máximo se utiliza el mismo comando pero multiplicando la función
por -1. Para entender mejor el manejo de este comando a continuación veremos algunos
ejemplos:

Ejemplo 1:

Obtener el valor mínimo y el máximo de la función en el intervalo [-2,2].

1. Declaramos la variable simbólica x y definimos la función f

>> syms x

>> y=sin(x/(1+x));

2. Graficamos la función desde -2 hasta 2 y activamos la cuadricula

>> ezplot(y,[-2,2]);

>> grid on %Activando la cuadricula

3. La gráfica generada debe siguiente:

Calculo Diferencial e Integral con MATLAB| 24


Figura 12.- Gráfica de la función evaluada desde -2 hasta 2 cuadricula activa.

4. Calculamos el valor de x donde el valor de y es el mínimo en el rango de -2 a 2;

>> xmin=fminbnd('sin(x/(1+x))',-2,2)

5. El resultado obtenido, nos muestra que el valor mínimo lo encontramos cuando x=-0.6110

xmin =
-0.6110

6. Para obtener el valor mínimo de la función debemos evaluarla cuando x=xmin=-0.6110, para
lo cual, utilizamos la siguiente instrucción:

>> min=subs(f,x,xmin)

7. El resultado arrojado por esta instrucción, nos dice el valor de y mínimo (ymin) de nuestra
función, el cual se obtiene cuando x=0.6110

min =
-1.0000

8. Para comprobar que el valor mínimo es uno, vamos a graficar la constante y=-1. Para lo cual
utilizaremos un artificio, ya que el comando ezplot tiene que estar en función de una variable,
multiplicaremos el valor mínimo por (lo cual, es igual a 1, por lo tanto, no altera el

Calculo Diferencial e Integral con MATLAB| Aplicaciones de la derivada 25


resultado). Además utilizaremos el comando hold on para que no se borre la gráfica ya
dibujada, sino que grafique sobre ella.

>> hold on
>>ezplot(min*x/x,[-2,2]);

9. La grafica resultante debe Indicarnos una línea constante y=-1. La cual nos indica que nuestra
función entra en contacto con ella aproximadamente cuando x=-0.6110.

Figura 13.- Una vez introducidos el comando hold on y graficada la constante y=ymin=-1podemos
apreciar que nuestra gráfica llega al menos uno.

10. Para visualizar mas a detalle nuestra gráfica utilizaremos el icono ubicado en la barra de
herramientas de la gráfica y haciendo clic en el punto donde se cruza la línea recta y nuestra
función (entre -1 y -0.5). Después de varios clics podremos apreciar lo siguiente:

Calculo Diferencial e Integral con MATLAB| Aplicaciones de la derivada 26


Figura 14.- Después de varios clics podremos ir apreciando mas a detalle la sección en donde los
cálculos nos indicaron que se encuentra el valor mínimo, y como podemos apreciar, al ampliar el
zoom, efectivamente nuestro valor mínimo se encuentra alrededor de -0.61. Para volver al zoom

original, presionar el icono hasta llegar al zoom inicial.

11. Una vez comprobado el mínimo de la función, procederemos a obtener el valor máximo, para
lo cual, utilizaremos el mismo comando pero multiplicando la función por -1, como se
muestra a continuación:

>>xmax=fminbnd('-sin(x/(1+x))',-2,2)

12. El resultado obtenido nos muestra el valor de x para el cual tenemos la ymax.

xmax =
1.9999

13. Para obtener el valor máximo debemos sustituir en nuestra función original la x por nuestra
xmax, lo cual nos dará el valor de ymax.

>>max=subs(f,x,xmax)

Calculo Diferencial e Integral con MATLAB| Aplicaciones de la derivada 27


14. Podemos apreciar que el valor máximo de nuestra función es max=0.6184.

max =
0.6184

15. Si observamos la gráfica a detalle, el máximo que nos marca el resultado no es en realidad en
máximo, esto se debe, a que el algoritmo del comando fminbnd( ) nos entrega el primer lugar
donde la pendiente es cero de izquierda a derecha, ó para este casó, donde es más cercano a
dicha pendiente. Para solucionar este problema y encontrar el valor máximo real, es necesario
reducir el intervalo a [-2,0] como se muestra a continuación.

>> xmax=fminbnd(char(-y),-2,0)
xmax =

-0.8250

>> max=subs(y,x,ans)
max =

1.0000

Como podemos apreciar, al momento de obtener el valor de x donde se encuentra el valor


máximo de y, utilizamos el comando char(-y), el cual tiene la función de convertir una ecuación en
una cadena de texto, lo cual es necesario porque el comando fminbnd() solo admite una función
en tipo como cadena de texto. Haciendo esto, nos evitamos tener que reescribir la función como ‘-
sin(x/(1+x))’.

Calculo Diferencial e Integral con MATLAB| Aplicaciones de la derivada 28


Ejemplo 2:

Obtener el valor mínimo y el valor máximo de la función en el intervalo


[0,5].

>> syms x
>>y=((6-x)^(1/3))*x^(2/3);
>>ezplot(y,[0,5]);
>>grid on %Ver Figura 15
>>xmin=fminbnd('((6-x)^(1/3))*x^(2/3)',0,5)
xmin =
4.4695e-005

>> min=subs(y,x,xmin)
min =
0.0023

>>hold on
>> ezplot(min*x/x) %Ver Figura 16

>>xmax=fminbnd('-((6-x)^(1/3))*x^(2/3)',0,5)
xmax =
4.00
>>max=subs(y,x,xmax)
max =
3.1748
>> ezplot(f*x/x) %Ver Figura 17

NOTA: Para entender que hace cada instrucción, ver ejemplo anterior.

Figura 15.- Gráfica de la función con cuadricula.

Calculo Diferencial e Integral con MATLAB| Aplicaciones de la derivada 29


Figura 16.- Gráfica de la función y su valor mínimo.

Figura 16.- Gráfica de la función y sus valores mínimo y máximo.

Calculo Diferencial e Integral con MATLAB| Aplicaciones de la derivada 30


Integración

Cálculo de primitivas
Para el cálculo de primitivas en MATLAB utilizaremos un comando del Symbolic Math Toolbox el
cual nos permitirá realizar esta tarea de una forma muy sencilla utilizando el comando int(f,v).

int( )
El comando int(f, v ) genera la integral integral indefinida de la función f con respecto a la
variable v. En caso de no definir la variable v, es decir, escribir simplemente int(f), se integrará con
respecto a la variable por default de MATLAB x. Una nota importante, es que MATLAB no nos
indica la constante de integración C. Para comprender mejor el funcionamiento de este comando,
se presentan los siguientes ejemplos:

Ejemplo 1:

Calcular .

1. Definimos nuestra variable simbólica x y nuestra función y

>>syms x
>>y=sin(x);

2. Integramos nuestra función y con respecto a x.

>>int(y,x)
ans =

-cos(x)

3. Otra forma de obtener el resultado, para éste caso, es simplemente teclear int(y), ya que
MATLAB tomará por default que se integrará con respecto a x, como se muestra a
continuación.

>>int(y)
ans =

-cos(x)

Calculo Diferencial e Integral con MATLAB| 31


Ejemplo 2:

Calcular

1. Definimos nuestra variable simbólica x y nuestra función y

>>syms x
>>y=sqrt(1-4*x^2)

2. Integramos nuestra función y con respecto a x.

>>int(y,x)
ans =

asin(2*x)/4 + x*(1/4 - x^2)^(1/2)

3. Otra forma de obtener el resultado, para éste caso, es simplemente teclear int(y), ya que
MATLAB tomará por default que se integrará con respecto a x, como se muestra a
continuación.

>>int(y)
ans =

asin(2*x)/4 + x*(1/4 - x^2)^(1/2)

Ejemplo 3:

Calcular:

>>syms a b c x
>>y=a*x^2+b*x+c;
>>int(y,x)
ans =

(a*x^3)/3 + (b*x^2)/2 + c*x

Integrales definidas
Las integrales definidas, también conocidas como integrales propias se deben evaluar en
un intervalo cerrado, finito y acotado, y cuyos extremos son los límites de la integral. Para calcular
una integral definida, utilizaremos la siguiente variación del comando int().

Calculo Diferencial e Integral con MATLAB| Integración 32


=Int(f,a,b) donde f es nuestra función, donde a es el límite inferior y b el límite
superior. También se puede integrar con respecto a una variable diferente de x utilizando la
siguiente sintaxis int(función, variable, liminf, limsup).

Ejemplo 1:

Calcular:

1. Definimos x como variable simbólica, guardamos nuestra función y, graficamos la función y


visualizamos la cuadricula:

>>syms x
>>y=sqrt(2*x);
>>ezplot(y,[0,2]);
>>grid on

2. La gráfica generada debe ser igual a la siguiente Figura:

Figura 17.- Gráfica de la función con cuadricula visible.

3. Para calcular el área debajo de la curva desde 0 hasta 2, utilizamos el comando int() como se
muestra a continuación:

>> int(y,x,0,2)

4. El área obtenida debajo de la curva es la siguiente:

Calculo Diferencial e Integral con MATLAB| Integración 33


ans =

8/3

Ejemplo 2:

Calcular:

1. Definimos x como variable simbólica, guardamos nuestra función y, graficamos en el intervalo


de 0 a pi y visualizamos la cuadricula:

>>syms x
>>y=sin(x);
>>ezplot(y,[0,pi]);
>>grid on

2. La gráfica generada debe ser igual a la siguiente Figura:

Figura 18.- Gráfica de la función con cuadricula visible evaluada en el intervalo [0,pi].

3. Para calcular el área debajo de la curva desde 0 hasta 2, utilizamos el comando int() como se
muestra a continuación:

>> int(y,x,0,pi)

Calculo Diferencial e Integral con MATLAB| Integración 34


4. El área obtenida debajo de la curva es la siguiente:

ans =

Ejemplo 3:

Calcular:

1. Definimos x como variable simbólica, guardamos nuestra función y, graficamos en el intervalo


de 0 a pi y visualizamos la cuadricula:

>>syms x
>>y=1/(1+sin(x)^2);
>>ezplot(y,[0,pi]);
>>grid on

2. La gráfica generada debe ser igual a la siguiente Figura:

Figura 19.- Gráfica de la función con cuadricula visible evaluada en el intervalo


[0,pi].

3. Para calcular el área debajo de la curva desde 0 hasta 2, utilizamos el comando int() como se
muestra a continuación:

Calculo Diferencial e Integral con MATLAB| Integración 35


>> int(y,x,0,pi)

4. El área obtenida debajo de la curva es la siguiente:

ans =

(pi*2^(1/2))/2

5. Aplicamos el comando vpa( ) para evaluar el resultado con 6 digitos.

>>vpa(ans,6)
ans =

2.22144

Aplicaciones

Cálculo de áreas
Al calcular el área de una función no negativa en un intervalo [a,b] se interpreta
geométricamente como el área delimitada por la gráfica de la función, el eje de las abscisas y los
límites a y b.

Para determinar el área debajo de una curva tenemos que calcular la integral definida de
la función en el intervalo [a,b]. En este capítulo nos enfocaremos en visualizar el área debajo de la
curva en un plot.

Además se tratara un ejemplo para encontrar el área representada por el cruze de dos
funciones diferentes.

Ejemplo 1:

Calcular y mostrar el área bajo la curva de la función:

1. Para calcular el área bajo la curva, obtenemos la integral definida de la función desde 0 hasta
2, como se muestra a continuación:

>>syms x
>>y=sqrt(2*x);
>>ezplot(y,[0,2]);

Calculo Diferencial e Integral con MATLAB| Integración 36


>>grid on
>>int(y,0,2)
ans =

8/3

2. La gráfica obtenida es la siguiente:

Figura 20.- Gráfica de la función con cuadricula visible.

3. Para visualizar el área bajo la curva, damos clic en el menú View de Figure 1 y seleccionamos
Property Editor como se muestra en la siguiente Figura.

Calculo Diferencial e Integral con MATLAB| Integración 37


Figura 21.- Gráfica de la función con cuadricula visible. Seleccionar Property Editor.

4. Al abrir el Property Editor aparecerá una pantalla en la parte inferior de la ventana, y


podremos seleccionar los distintos elementos de la gráfica. En esta ocasión, seleccionaremos
la línea azul.

Calculo Diferencial e Integral con MATLAB| Integración 38


Figura 22.- En la parte inferior de puede apreciar el Property Editor, y su apariencia al seleccionar
la gráfica.

5. En el Combo box llamado Plot Type podemos ver seleccionada la opción Line, damos clic, y
seleccionamos Area.

Calculo Diferencial e Integral con MATLAB| Integración 39


Figura 23.- Vista de el área debajo de la curva al cambiar el Plot Type a tipo Area

6. Podemos apreciar que una vez cambiado el tipo de gráfica, podremos apreciar claramente el
área bajo la curva que calculamos con la integral definida.

Calculo Diferencial e Integral con MATLAB| Integración 40


Ejemplo 2:

Determinar el área formada por la intersección de la parábola y la recta


.

Figura 24.- Encontrar el área formada por la intersección de las funciones mostradas.

I. Análisis matemático inicial:


1. Primeramente, hay que obtener los puntos en los cuales se intersectan la recta y la
parábola. Para lo cual igualaremos ambas ecuaciones como se muestra a
continuación.

Despejamos la de la ecuación de la parábola para poder igualar las ecuaciones

Tenemos que las dos ecuaciones son iguales a y, por lo cual podemos igualarlas.

Eliminamos la raíz elevando toda la ecuación al cuadrado.

Despejamos para obtener una ecuación homogénea

Calculo Diferencial e Integral con MATLAB| Integración 41


Obtenemos las raíces de la ecuación

Figura 25.- Raíces de la ecuación que nos indican los puntos de intersección las funciones
analizadas.

2. Una vez realizado el análisis anterior, podemos apreciar que el área que deseamos
obtener está formada por dos regiones, una en el intervalo [0,0.5] y la otra en [0.5,2].

Figura 26.- Representación de las dos regiones que definen el área que queremos determinar

Una vez identificadas las distintas regiones que conforman el área que queremos
determinar, podemos definir la ecuación del área total.

Calculo Diferencial e Integral con MATLAB| Integración 42


II. Solución en MATLAB
1. Definimos x como variable simbólica, g1 como la primera ecuación auxiliar de la
parábola y graficamos de 0 a 4 visualizando la cuadricula.

>> syms x
>> g1=sqrt(2*x);
>> ezplot(g1,[0,4]); %Ver Figura 27 a)
>> grid on

2. Definimos la función auxiliar g2, tecleamos hold on para mantener ambas gráficas y
graficamos.

>> g2=-sqrt(2*x);
>> hold on
>> ezplot(g2,[0,4]); %Ver Figura 27 b)

3. Definimos la función de la recta, aplicamos el comando hold on nuevamente y


graficamos.

>> y=2*x-2;
>> hold on
>> ezplot(y,[0,4]); %Ver Figura 27 c)

Figura 27.- a) Gráfica de la función


b) Gráfica de la función
c) Gráfica de las funciones , y

4. Definimos la matriz de coeficientes de la ecuación que relaciona la parábola con la


recta. Si dicha ecuación es . Tenemos que sus coeficientes son [2 -5
2] y los definimos de la siguiente manera.
Calculo Diferencial e Integral con MATLAB| Integración 43
>> coeficientes=[2 -5 2];

5. Obtenemos las raíces de la ecuación anterior utilizando el comando roots()

>> raices=roots(coeficientes)
raices =

2.0000
0.5000

6. Cada elemento de la matriz se guarda como raíces(1), raíces(2), etc… en el mismo


orden en que aparecen, por lo tanto, los límites de nuestra ecuación quedaran como
se muestran en la figura 28

Figura 28.- Ubicación de las raíces raíces(1) y raíces(2) obtenidas mediante el comando roots( )

7. Una vez obtenidas las raíces ingresaremos la función obtenida en el análisis


geométrico del área a obtener .
Tomando en cuenta que ya obtuvimos los valores de las raíces.

>> Area=int(2*sqrt(2*x),0,raices(2))+int(sqrt(2*x)-2*x+2,raices(2),raices(1))
Area =

9/4

Calculo Diferencial e Integral con MATLAB| Integración 44


Volumen de un cuerpo de revolución
Los sólidos de revolución son cuerpos creados a partir de la rotación de una función
bidimensional sobre uno de sus ejes. Por ejemplo, al rotar el cono de la figura 28 a) con respecto al
eje x, obtendremos un cono como el de la figura 28 b).

Figura 29.- a) Gráfica de la función , con la cual representamos un triángulo.


b) Cono obtenido al rotar la función con respecto al eje x.

Tomando como referencia que al hacer girar una curva alrededor del eje de las
abscisas, se genera un sólido de revolución cuyos cortes al eje OX tienen un área de
. Por lo tanto, el volumen de dicho sólido estará dado por la ecuación:

Para graficar un sólido de revolución, utilizaremos el comando ezsurf() el cual tiene la


función de graficar superficies en 3D, utilizando la siguiente sintaxis:

ezsurf(funx,funy,funz,[a,b,Θ1,Θ2]) donde:

funx= Función en x
funy= Función en y
funz= Función en z
a= límite menor
b= limite mayor
Θ1= Angulo de inició de rotación (rad)
Θ2= Angulo de fin de revolución (rad)

Calculo Diferencial e Integral con MATLAB| Integración 45


El comando ezsurf( ) sirve para graficar cualquier clase de superficie en 3D, pero para esta
aplicación específica siempre se usara la siguiente sintaxis:

ezsurf(x, cos(t)*f(x), sin(t)*f(x),[ Θ1,Θ2, a, b ]

Lo cual nos generará automáticamente el sólido de revolución con respecto al eje x de acuerdo a
la función f(x).

Ejemplo 1:

Calcular el volumen del solido generado al hacer girar la función . Mostrar la


gráfica de la función en el plano X-Y y el sólido en el intervalo [0, ].

1. Definimos las variables x y t como simbólicas. Ingresamos la función y


graficamos en el plano X-Y en el intervalo [0, ].

>> syms x t
>> y=4*x-(1/3)*x^3;
>> ezplot(y,[0,2*3^(1/2)]);
>> grid on %Ver figura 30 a)

2. Una vez que hayamos visto la gráfica en el plano XY, procederemos a graficar el solido de
revolución generado al girar la función sobre el eje x.

>> ezsurf(x, y*cos(t),y*sin(t),[0,2*pi,0,2*3^(1/2)]) %Ver figura 30 b)

Con esta instrucción estamos generando el sólido de revolución de 0 a 2π (una revolución


completa) para el intervalo [0, ].

3. En este momento, tenemos en claro la forma que tendrá nuestro sólido de revolución, pero el
volumen sigue siendo desconocido. Para determinarlo aplicaremos la fórmula como se
muestra a continuación.

>> a=0;
>> b=2*3^(1/2);
>> vol=int(pi*y^2,a,b)
vol =
(1024*pi*3^(1/2))/35

>> vpa(vol,6)
ans =
159.2
Calculo Diferencial e Integral con MATLAB| Integración 46
Figura 30.- a) Gráfica de la función en el plano XY
b) Solido de revolución generado al girar la fig. 30 a) respecto al eje x

Ejemplo 2:

Calcular el volumen del solido generado al hacer girar la función . Mostrar la


gráfica de la función en el plano X-Y y el sólido en el intervalo [0, ].

>> syms x t
>> f=2*x;
>> a=0;
>> b=2;
>> ezplot(f,[a,b]);
>> grid on
>> ezsurf(x, f*cos(t),f*sin(t),[0,2*pi,0,2])
>> vol=int(pi*f^2,a,b)
vol =
(32*pi)/3
>> vpa(vol,6)
ans =
33.5103

Longitud de arcos de curvas


Otra de las aplicaciones del cálculo integral y diferencial, consiste en determinar la
longitud de arco de una curva. Siendo la curva una ecuación derivable podemos obtener
la longitud del arco de la curva en el intervalo [a,b] utilizando la siguiente expresión:

Calculo Diferencial e Integral con MATLAB| Integración 47


Ejemplo 1:

Graficar la función f y determinar la longitud de arco de la curva en el intervalo


[0,1].

1. Declarar x como variable simbólica, ingresamos la función f, a y b y gráficamos

>> syms x

>> f=(1-x^2)^(1/2);
>>a=0;
>>b=1;
>>ezplot(f,[a,b]);
>> grid on %Ver figura 31

2. Obtenemos la primera derivada de la función:

>> der=diff(f)
der =

-x/(1 - x^2)^(1/2)

3. Simplificar la parte interna de la raíz ( )

>> dentro=simplify(1+der^2)
dentro =

-1/(x^2 - 1)

4. Al simplificar la ecuación dentro de la raíz obtenemos: . Por lo cual


realizamos la operación como se muestra a continuación:

>> >> Longitud=int(sqrt(dentro),a,b)


Longitud =

pi/2

Calculo Diferencial e Integral con MATLAB| 48


Figura 31.- Gráfica de la función

Otros comandos

vpa( )
El comando VPA utiliza aritmética de precisión variable para calcular cada elemento de la
función para un número de decimales específicos. La sintaxis para este comando es:

vpa(A,D)

Donde A es la función a evaluar y D el número total de dígitos deseados.

>> pi
ans =
3.1416

Como podemos apreciar, por default, MATLAB nos arrojo 4 dígitos, pero suponiendo que
quisiéramos una mayor precisión, usaríamos el comando vpa(A,D), de la siguiente manera:

>> vpa(pi,10)
ans =
3.141592654

Calculo Diferencial e Integral con MATLAB| 49


Como podemos apreciar, el comando VPA nos muestra únicamente los 10 primeros
números significativo, sin importar la posición del punto decimal. Otro ejemplo sería, si queremos
ver 30 dígitos significativos, por ejemplo:

>> vpa(pi,10)
ans =
3.141592654

Calculo Diferencial e Integral con MATLAB| Otros comandos 50

También podría gustarte