Cálculo diferencial e integral con MATLAB (tutorial)

April 2, 2017 | Author: Juan Manuel Jiménez Covarrubias | Category: N/A
Share Embed Donate


Short Description

Download Cálculo diferencial e integral con MATLAB (tutorial)...

Description

27 y 28 de Octubre del 2011

FOROS ACADÉMICOS METAL-MECÁNICA 2011

CÁLCULO DIFERENCIAL E INTEGRAL 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 de comandos

9

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( ) cos( ) tan( ) sinh( ) cosh( ) tanh( ) asin( ) acos( ) atan( ) exp( ) log( ) log10( ) abs( )

Seno Coseno Tangente Seno hiperbólico Coseno hiperbólico Tangente hiperbólico Arcoseno Arcocoseno Arcotangente Exponencial Logaritmo neperiano Logaritmo decimal 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 >> f = (x-1)*(x-2)*(x-3); >> collect(f)

%Declaramos x como variable simbólica %ingresamos la función 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 >> f = a*(x+y); >> expand(f)

%Declaramos a,x,y como variables simbólicas %ingresamos la función 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 >> f = exp(a+b); >> expand(f)

%Declaramos a,x,y como variables simbólicas %ingresamos la función 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 >> f = cos(x+y); >> expand(f)

%Declaramos a,x,y como variables simbólicas %ingresamos la función 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 >> f = x^3-6*x^2+11*x-6; >> factor(f)

%Declaramos x como variables simbólicas %ingresamos la función 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; >> g=y; >> subs(f,g,x)

%guardamos una función en la variable f %guardamos otra función en la variable g %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 = 2

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 y

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]); >> grid on

%Ver Figura 27 a)

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 gráfica de la función en el plano X-Y y el sólido en el intervalo [0,

. Mostrar la

].

1. Definimos las variables x y t como simbólicas. Ingresamos la función 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

y

].

%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 gráfica de la función en el plano X-Y y el sólido en el intervalo [0, ].

. Mostrar la

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

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF