Tutorial Matlab. Automatic Control. 12-06-2020

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 29

UNIVERSIDAD TECNOLÓGICA DE DURANGO

INGENIERÍA EN MECATRÓNICA

CURSO TUTORIAL:

INTRODUCCIÓN A MATLAB

M.C. Felix de Jesus Mar Luna


Profesor de Tiempo Completo-Ingeniería Mecatronica

DURANGO, DGO., MÉXICO DEL 12DE JUNIO DE 2020,

|
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

ACERCA DE MATLAB
MATLAB fue creado por la compañía The MathWorks en 1984, surgiendo la primera versión con la
idea de emplear paquetes de subrutinas escritas en Fortran en los cursos de álgebra lineal y análisis
numérico, sin necesidad de escribir programas en dicho lenguaje. El programa pues originalmente
fue desarrollado para realizar operaciones con matrices (el nombre de MATLAB es una abreviatura
de Matrix Laboratory, por sus siglas en ingles de Laboratorio Matricial) [1]. En la actualidad es una
herramienta de computación comercial que es un lenguaje de muy alto nivel diseñado para
cómputo técnico. Integra en un mismo ambiente muy fácil de usar, cálculos, visualización y
programación. En este ambiente los problemas y sus soluciones se pueden expresar en notación
matemática fácil de entender. [2]
Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y
funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la
comunicación con programas en otros lenguajes y con otros dispositivos hardware.
El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, el
primero de ellos es, Simulink que es una plataforma de simulación multidominio y GUIDE el cual es
un editor de interfaces de usuario ó GUI´s. Además, se pueden ampliar las capacidades de MATLAB
con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).
Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos
años ha aumentado el número de prestaciones, como la de programar directamente procesadores
digitales de señal o crear código VHDL. Algunos de los usos más comunes de MATLAB son:

 Cálculos matemáticos.

 Desarrollo de algoritmos.

 Modelado y simulación.

 Análisis de datos y

 Obtención de graficas

 Desarrollo de interfaces gráficas.


AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

En las disciplinas de ingeniería, ciencias y programación de computadoras, es importante tener un


enfoque consistente para resolver problemas técnicos. El enfoque que se realice debe ser capaz de
ser implantado en áreas tan distintas como, química, física, termodinámica, diseño de ingeniería,
incluso en otras áreas menos ingenieriles como lo son las ciencias sociales, economía y sociología,
sea cual sea el enfoque el cual puede variar ligeramente de uno a otro todos deben de incluir el
mismo principio básico:
 Plantear el problema. Ya sea en forma de algún dibujo o esquema, de forma que se
adquiera una comprensión clara del problema, ya que si no se tiene esto es poco probable
que podamos llegar a una solución factible.
 Describir los valores de entrada y las salidas que se requieren. Estos valores de entrada se
suponen conocidos y las salidas vienen siendo los valores desconocidos o las incógnitas del
sistema, para los cuales debemos de tener también ciertas consideraciones:

a) Tener cuidado de incluir las unidades correctas que describen los valores de entrada y
salida.
b) Identificar las constantes que se van a manejar en los cálculos.
c) Si lo considera necesario, se puede realizar un bosquejo ya sea en dibujo o una tabla
los valores identificados.

 Desarrollar el algoritmo para resolver el problema. Normalmente se llega a una solución


factible después de una corrida de escritorio, para lo cual es necesario tener en mente los
siguientes aspectos:

a) Identificar todas las ecuaciones que relacionen los valores conocidos con las
incógnitas.
b) Trabajar con un modelo simplificado del problema, ya sea que lo realice a mano o con
ayuda de la calculadora.

 Resolver el problema.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
 Probar la solución. Para ello verifique lo siguiente:

a) ¿Sus resultados son físicamente posibles?


b) ¿Coinciden con los cálculos que realizo a mano o con las muestras que se hayan tomado
del sistema?
c) ¿La respuesta es la que se pedía?
d) Realizar graficas de los resultados es una forma muy útil de verificar que los cálculos
realizados arrojan resultados razonables.

CALCULO SIMBÓLICO VS. CALCULO NUMÉRICO.

Para ilustrar la diferencia entre ambos tipos de cálculo usaremos la siguiente ecuación:
𝑥2 − 2 = 0
Manipulando la ecuación simbólicamente, se llega a dos soluciones:
𝑥 = ±√2
Y si se entra la raíz cuadrada de dos en la calculadora obtenemos:
𝑥 = 1.4121356237
Entonces la calculadora ha desarrollado cálculo numérico y la salida es una respuesta numérica. Lo
que significa que por el cálculo simbólico es manipular los símbolos de una forma exacta. Por el
método numérico, significa que se tendrá que trabajar con números de punto flotante con un
número predeterminado de dígitos, lo cual usualmente implica que se tiene que hacer redondeo.
Aunque en ocasiones algunas operaciones pueden ser clasificadas como ambas, simbólica y
numérica.
MATLAB tiene la capacidad de trabajar con ambos tipos de cálculo y ambas tienen una importante
diferencia entre las dos.
La principal ventaja del cálculo simbólico es bastante obvia, es perfectamente exacta, asumiendo
que el problema se haya realizado correctamente. Pero no siempre puede ser posible el uso del
cálculo simbólico, de primera instancia en el simple caso de encontrar las raíces de un polinomial, si
el grado de este es mayor a cuatro, es conocido en general que las raíces no pueden ser encontradas
con calculo simbólico computacional, en tal caso no nos queda otra alternativa que aproximar las
raíces utilizando el cálculo numérico.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
Entonces considerando que el cálculo simbólico es exacto, y el cálculo numérico se basa en
aproximaciones, se entiende que esto se tome muy bien para la mayoría de las aplicaciones, pero
se debe de tener cuidado siempre que tomen las aproximaciones lo suficientemente exacta para
que cumplir con las necesidades, esto puede ser tedioso pero genera herramientas para el análisis
y entendimiento de las aplicaciones y/o problemas que se estarán tratando.

COMANDOS BÁSICOS

MATLAB es un programa command-driven, es decir, que se introducen las órdenes escribiéndolas


una a una a continuación del símbolo >>(prompt) que aparece en una interfaz de usuario llamada
también ventana de comandos ó command window.
La siguiente lista de comandos le será de mucha utilidad como referencia en el uso de MATLAB en
su uso futuro, cabe mencionar que el ambiente dentro de MATLAB se encuentra en el idioma ingles,
así que todos sus comandos y ayudas se encuentran en dicho idioma. A continuación se describirá
el comando más poderoso dentro de MATLAB:

>> help Este comando le permitirá obtener información sobre alguna determinada función
escribiendo el nombre de esta inmediatamente después del comando, por ejemplo:
>> help syms
Una vez tecleado el comando help y la función sobre la cual estamos buscando
información aparecerán los temas que tengan relación con nuestra búsqueda con
ejemplos de que estructura debe tener la función para usos genéricos o específicos.
Con la función anterior los resultados arrojados por ejemplo son los siguientes:
SYMS Short-cut for constructing symbolic objects.
SYMS arg1 arg2 ...
is short-hand notation for
arg1 = sym('arg1');
arg2 = sym('arg2'); ...
Si solo se ingresa el comando >>help, se obtendrá el índice de temas. También
puede obtenerse información sobre uno de los temas de la lista, por ejemplo :
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
>> help elfun
Proporciona información sobre las funciones matemáticas fundamentales. Para la
ventana de ayuda, se puede llamar escribiendo el comando
>> helpwin
O escogiendo en el menú Help, el ítem o icono de Help Window.

Comandos básicos y de uso común para tener en cuenta al realizar las operaciones son los
siguientes:

Comando Función
Borra toda la pantalla y borra los valores asignados de
clear
todas las variables.
Borra toda la pantalla pero deja intactos los valores
clc
asignados previamente a las variables.
who Enumera todas las variables usadas hasta el momento.
help + tema Proporciona la ayuda sobre el tema en cuestión.
Syms Este comando sirve para declarar variables.
round(operación) Redondea al número más cercano la operación realizada.
sqrt(operación) Realiza la raíz cuadrada de la operación.
solve Resuelve una ecuación o sistema de ecuaciones.
syms Este comando sirve para declarar variables.
Al presionar esta tecla dentro de la ventana de comandos
Tecla 
se puede recuperar las sentencias anteriormente usadas.
Plot(funcion) Grafica en un plano la función dada
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
Operadores usados dentro de MATLAB:
Operador Función
+ Suma
- Resta
/ División
* Multiplicación
^ Potencia
()y[] Agrupación

EJERCICIOS PRELIMINARES

El orden en que se realizan las operaciones de una línea es el siguiente dentro de l entorno de
MATLAB:
1. Primero el exponenciación
2. Segundo, las multiplicaciones y divisiones; y
3. Finalmente, las sumas y las restas.

Si se quiere forzar un determinado orden, se deben utilizar paréntesis, que se evalúan siempre al
principio.

USO DE MATLAB COMO CALCULADORA.

MATLAB realiza ya sea operaciones básicas u operaciones que requieran un análisis avanzado, en
los siguientes apartados se enlistan algunas de la forma en que se realizan estas operaciones.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

Operaciones básicas (+, - , *, /, ^)

Las operaciones de suma, resta, multiplicación, división y potencia se realizan de manera similar
solo se ingresan los datos o números con los que se desea trabajar con el signo de la operación
correspondiente, por ejemplo para sumar dos números nos basta con solo hacerlo de la siguiente
forma:
>> 2+5
ans =
7
Al no asignar a la operación a una variable MATLAB asigna por defecto el resultado va a la variable
ans (answer) siendo la otra forma cuando se le asigna una variable para almacenar el valor la
representación queda de la siguiente forma:
>> x =3 +2
x=
5
Para realizar un exponente, este caso el de la variable x ya capturada, la forma de escribir la
operación es como se muestra a continuación:
>> y=x^2
y=
25
Las variables dentro de MATLAB deben de empezar SIEMPRE por una letra, de ahí en adelante los
demás caracteres pueden ser letras, números, subrayados, pero solo los primeros 63 caracteres son
importantes para la versión R2008a. Por ejemplo:

>> universidadtecnologicadedurangotecnicosuperioruniversitarioeingenieriaenmecatronica=4
Universidadtecnologicadedurangotecnicosuperioruniversitarioeing = 4

MATLAB también distingue entre mayúsculas y minúsculas, por tanto G y g no son lo mismo,
haciendo posible asignar dos nombres de variable. MATLAB reserva una lista de palabras clave para
el uso del programa, que no se pueden asignar como nombres de variables.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
El comando iskeyword hace que el programa elabore una lista con los nombres reservados:
>> iskeyword
'break'
'case'
'catch'
'classdef'
'continue'
'else'
'elseif'
'end'
'for'
'function'
'global'
'if'
'otherwise'
'parfor'
'persistent'
'return'
'switch'
'try'
'while'

Por otro lado MATLAB permite reasignar nombres de funciones internas como nombres de
variables, pero esto es realmente peligroso por el mero hecho de que la función reasignada como
nombre de variable ya no estará mas disponible, durante esa ejecución del problema. En caso de
que esto suceda y quiera utilizar de nuevo la función puede utilizar la función clear y se restablece
la función a su estado original. Por ejemplo, en las siguientes líneas se ejemplifica:

Reasignando el nombre de una función:


>> sin=4
sin = 4
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
Y al querer usar la función para determinar el seno de un número arroja el siguiente error:

>> sin(3)
??? Index exceeds matrix dimensions.

Raíces.

Para determinar las raíces de un numero o función basta con escribir la función >>sqrt(operacion)
y se obtiene la raíz cuadrada,

>> sqrt(25)
ans = 5

Sin embargo si no es asi, es decir si se busca la raíz cubica o quinta de una función en ese caso
tendremos que escribir la potencia en forma fraccionaria, por ejemplo; para una raíz cubica
escribiremos la función de la siguiente manera:

>> y=27^(1/3)
y= 3

En este caso no es tan necesario que se forcé la operación (1/3) ya que por jerarquía se realiza
primero.

Orden de la operación.
5
Al realizar la siguiente operación 𝑥 = 7+1 es muy importante cuidar la forma en que se captura el

dato dentro de MATLAB, ya que como se describió anteriormente este tiene un orden para realizar
las operaciones, es decir si realizamos la operación de la siguiente forma:

>> x=5/7+1
x = 1.7143
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
Que como se aprecia la forma en que realizo el ejercicio fue primeramente dividir 5 entre 7 y luego
sumar a este resultado 1. La forma correcta de escribir la operación es forzar las operaciones tal y
como se muestra a continuación:

>> x=5/(7+1)
x=
0.6250

De este modo se fuerza al programa a realizar primero la suma de 7 más 1 y después la operación
de dividir 5 entre 8. Esta operación se puede llevar a cabo agrupando con paréntesis ( ) o agrupando
con corchetes [ ].

ALGUNOS COMANDOS BÁSICOS USANDO UNA VARIABLE


SIMBÓLICA

1. Declarando la variable simbolica.


>> syms x
2. aciendo la función simbólica
> f=x*sin(x)
3. Obteniendo la derivada de f

>> f1=diff(f)
f1 =
sin(x)+x*cos(x)
4. Calculando la segunda derivada de f

>> f2=diff(f,2)
f2 =
2*cos(x)-x*sin(x)
5. La anti-derivada de f
>> F=int(f)
F=
sin(x)-x*cos(x)
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
6. Resolviendo la derivada definida de f que va de 0 a 𝜋

>> int(f,0,pi)
ans =
pi
7. Determinando el limite de una función:

>> limit(log(cos(x))/x^2,0)
ans =
-1/2
(MATLAB usa la regla de L’Hopital para encontrar los limites)
8. Otro ejemplo de un límite cuando este va de infinito

>> limit(log(x)^2/x,inf)
ans = 0
9. Grafica de una función usando limites predeterminados

>> ezplot(f)
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
10. Grafica de una función usando un intervalo especifico.
>> ezplot(f,0:4*pi)

11. Ejemplo de la resolución de una ecuación (polyn=0).

>> polyn=x^5-x^4-7*x^3+x^2+6*x
polyn =
x^5-x^4-7*x^3+x^2+6*x

>> factor(polyn)
ans = x*(x-1)*(x-3)*(x+2)*(x+1)
>> solve(polyn)
ans =
0
-1
1
-2
3
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
12. Simplificación de una expresión

>> expr = cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x)


expr =
cos(x)^5+sin(x)^4+2*cos(x)^2-2*sin(x)^2-cos(2*x)

>> simple(expr)
ans =
cos(x)^4*(cos(x)+1)

COMANDOS BÁSICOS USANDO ARREGLOS

1. Hacer un vector en el cual se entra un valor del 1 al 5 con incrementos de 0.5.

>> t=0:0.5:5
t=
0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000

2. Evaluación de una función con cada uno de los valores dados a t. (t=0:0.01:8*pi)

>> y=t.*sin(t);

Usando el punto y como (;) después de cada declaración u operación, estamos indicándole
a MATLAB que no queremos visualizar el resultado, en cambio el valor o la serie de valores
que se hayan generado con dicha operación quedan guardados para utilizarse si se requiere
más delante.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
3. Grafica de una función y contra el tiempo t.

>> plot (y,t)

4. Transpuesta de un arreglo

>> g=1:0.5:4
g=
1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000
>> t=g'
t=
1.0000
1.5000
2.0000
2.5000
3.0000
3.5000
4.0000
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
Usar la comilla ( ‘) significa que estamos usando la transpuesta.

>> x=-2:0.5:2; y=x;


>> Z= sin (x'*y); mesh (Z)

5. Captura de matrices.
>> A=[1,2,3;4,5,6;7,8,9]
A=
1 2 3
4 5 6
7 8 9

>> B=[1,2;3,4;5,6]
B=
1 2
3 4
5 6
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

Operaciones con matrices.

1. Multiplicación
>> A*B
ans =
22 28
49 64
76 100
2. Resolución de una matriz Ax=b por eliminación gaussiana.

>> b=[1 2 3]'


b=
1
2
3
>> A\b
ans =
-0.3333
0.6667
0
3. Determinante de una matriz

>> a=[22 34 54; 45 66 89; 12 23 67]


a=
22 34 54
45 66 89
12 23 67
>> det(a)
ans =
-826
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

Factorización de expresiones y resolución de ecuaciones.

1. >> syms x
2. >> expr1=(x-1)*(x-2)*(x-3)*(x-4)*(x-5)
3. >> expr2=expand(expr1)
4. >> factor(expr2)
5. >> solve(expr2)

Explique lo qué pasa con cada una de las funciones, y ¿cuál es la relación entre resolver y
factorizar? Escriba los siguientes comandos para la expresión 3 y describa lo que se hizo:

1. >> expr3=x^4+3*x^3+3*x^2+x+3
2. >> factor(expr3)
3. >> solve(expr3)
4. >> double(ans)

La función DOUBLE convierte al doble de precisión. DOUBLE (X) devuelve el valor con el
doble de precisión de X. Si X es ya una matriz de doble precisión, DOBLE no tiene ningún
efecto. Con las expresiones del punto número 7 intente resolver la siguiente expresión.

>>expr3-3
Haga una expresión expr4 que sea igual a la expresión expr1+1. Factorice la expr4 y resuelva
para expr4=0. Una vez hecho esto, diga por que MATLAB produce una solución numérica
para la función solve, en vez de un resultado simbólico.

Con la práctica se van conociendo los comandos básicos de la manipulación algebraica de


las funciones y nos permite considerar la diferencia existente entre las técnicas de cálculo
numérico y el cálculo simbólico. Por lo que uno como usuario debe confrontar el hecho
fundamental que una solución simbólica no siempre es posible.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

Definición, evaluación y graficación de funciones.

Para entender estas funciones vamos a hacerlo directamente en la ventana de comandos de


MATLAB y describa que es lo que hace cada uno de los comandos capturados.
1. >> clear all
2. >> syms x
3. >> f=sin(x)
4. >> subs(f,2)
5. >> subs(f,'2')
6. >> double(ans)

Dadas las funciones anteriores defina cual es la respuesta simbólica y cual es la respuesta numérica
al ejercicio anterior, trate usando el comando help subs y help duble para encontrar la explicación.
Ingrese los siguientes comandos:
7. >> ezplot(f)

Dibuje la gráfica obtenida:


AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
Siguiendo el ejercicio anterior se puede definir y graficar la función siguiente:

𝑔(𝑥) = exp⁡(𝑥)

Escribiendo los comandos de la siguiente forma:

8. >> syms x
9. >> g=exp(x)
10. exp(x)
11. >> ezplot(g)

Dibuje la grafica obtenida con la función ezplot y después de eso ajuste el dominio de la grafica con
los comandos que se escriben a continuación y anote sus comentarios al respecto.
12.
13. >> ezplot(g,-2,2)

Capture las funciones:

14. √𝑥 2 − .00001
15. 𝑥 7 − 𝑥⁡
16. sin(𝑥 5 )
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
Y después grafique.

La computadora hace una gráfica de la función localizando un número finito de puntos para después
hacer la conexión de duchos puntos.

EJERCICIO PRÁCTICO 1:
Encontrar el área de un cilindro circular recto, si su altura es de 10cm y el radio es de 5cm.
Primero definimos las variables y las constantes:
>> radio=5
r >> altura=10

Definimos las ecuaciones a utilizar:

>> area=2*pi*radio^2+2*pi*radio*altura
area =
h 471.2389
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

EJERCICIO PRACTICO 2.
Una forma de hacer más legible un código de computo es descomponer las expresiones largas en
múltiples enunciados. Por ejemplo para la siguiente ecuación:
log(𝑎𝑥 2 + 𝑏𝑥 + 𝑐) − sin⁡(𝑎𝑥 2 + 𝑏𝑥 + 𝑐)
𝑓=
4πx 2 + cos(x − 2) ∗ (𝑎𝑥 2 + 𝑏𝑥 + 𝑐)
El error de dedo en la ecuación anterior es una posibilidad, por ello y para minimizar dicho error,
podemos descomponer dicha ecuación en varias partes. Pero antes démosle valor a las variables.
>> x=9;
>> a=1;
>> b=3;
>> c=5;
Luego definimos el polinomio y el denominador.
>> polinomio=a*x^2+b*x+c;
>> denominador=4*pi*x^2+cos(x-2)*polinomio;
Y combinando estas ecuaciones:
>> f=(log(polinomio)-sin(polinomio))/denominador
f = 0.0044
De esta forma podemos pues minimizar el error, en lugar de teclear el polinomio tres veces y
arriesgarse a equivocarse posiblemente tres veces por cada vez, solo fue necesario escribirla una
vez, aumentando la precisión del código y su facilidad de uso.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
EJERCICIOS.
Cree y prueba la sintaxis MATLAB para evaluar las siguientes expresiones y luego verifique sus
respuestas con la calculadora.

1. (3+5)*2

2. 3-2/4+6^4

3. 3^(5+2)
5+3
4. 9−1
4
5. 23 − 5+3
52+1
6. 4−1
1 2
7. 4 ∗5
2 3
7
5+6∗ −22
8. 2 3

3

3 3∗6

CALCULO DIFERENCIAL
LIMITES
Ingrese los siguientes comandos para después discutir que es lo que esta pasando.
>> x=sym('x')
>> f=x^2
>> limit(f,2)
>> limit(f,inf)
>> limit(1/x,inf)
>> limit(log(abs(x)),0)
>> limit(1/x,0)

Use MATLAB para encontrar los limites de las siguientes funciones y los puntos dados.
1. lim √𝑥
𝑥→0

2. lim √𝑥 2 − 0.00001
𝑥→0

3. lim √𝑥
𝑥→0

4. lim sin 𝑥
𝑥→∞
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
5. lim sin( 1/𝑥)
𝑥→0
𝑥 2 +𝑥−6
6. lim
𝑥→2 𝑥 2 −4
𝑥 3 +3𝑥+2
7. lim 𝑥 4 −4𝑥+3
𝑥→1
6𝑥 3 −5𝑥 2 +3
8. lim
𝑥→∞ 2𝑥 3 +4𝑥−7

Ahora que ya sabe determinar los limites con ayuda de MATLAB intente ahora con los siguientes
comandos:
>> syms x h
>> f=x^3+x^2+x+1
>> m=(subs(f,x+h)-f)/h
>> f1=limit(m,h,0)

Pruebe entonces ahora la siguiente secuencia de comandos:


>> syms x h
>> f=exp(sin(x))
>> m=(subs(f,x+h)-f)/h
>> f1=limit(m,h,0)
>> subs(f1,pi)
>> X=-10:0.05:10;
>> F=subs(f,X);
>> F1=subs(f1,X);
>> plot(X,F,'b',X, F1, 'r')

Usando el comando help averigüe para que sirve el comando subs. Repita la siguiente secuencia de
comandos y explique qué es lo que paso.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

DERIVACIÓN

Anteriormente cuando se vio el uso de MATLAB como calculadora, se vio el comando usado para
calcular la derivada de una función tal como se muestra a continuación:
>> diff(funcion)
Trate los siguientes comandos:
>> plot(X,F,'r', X,F1,'b')
>> syms x
>> f=x^2;
>> f1=diff(f);
>> F=subs(f,X);
>> F1=subs(f1,X);
>> plot(X,F,'r', X,F1,'b')
Explique que fue lo que paso con los comandos y después repita el procedimiento anterior con la
siguiente función:
⁡𝑥 5 + 𝑥 3 + 2
𝑔(𝑥) = ⁡
8𝑥 + 1
Realice las siguientes derivadas y visualice el resultado de manera simplificada en MATLAB:
−𝑥 3 +𝑥 2 +4
1. 𝑦 = 𝑥2

2. 𝑦 = 𝑥 √4 − 𝑥
2𝑥 2 −5𝑥+5
3. 𝑦 = (𝑥−2)

2𝑥 2 3𝑥
4. 𝑦 = 𝑥−1 + 𝑥+1
2𝑥−1
5. 𝑦 = 3𝑥+2
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
EXPONENTES Y POTENCIAS

Trate los siguientes comandos:


>> x1=-1.15:0.01:1.15;
>> x2=-1.39:0.01:1.39;
>> y1=x1.^10;
>> y2=exp(x2);
>> plot(x1,y1,'b', x2,y2, 'r')

NOTA IMPORTANTE: NO olvide colocar el . antes del signo de potencia ^. Escriba los comandos con
y sin los ; para que repase que es lo que pasa.
El comando plot grafica 𝑦 = 𝑥 10 y de 𝑦 = 𝑒 𝑥 lo cual sugiere que las ecuaciones 𝑥 10 = 𝑒 𝑥 tienen
dos soluciones, una positiva y otra negativa. Dentro de las graficas nosotros podemos hacer
acercamientos a las graficas y darle este zoom con el botón que tiene aspecto de lupa.

CALCULO INTEGRAL

Dado que la integración es el proceso inverso de la derivación uno supondría que esto debería ser
sencillo y que las técnicas computacionales para la misma deberían ser similares, pero esto en la
práctica no es el caso. A pesar de que la derivada de cualquier función elemental puede ser
encontrada de forma simbólica, la mayoría de las funciones no pueden ser integradas
simbólicamente. De hecho, debemos saber que la mayoría de las antirerivadas de las funciones
elementales no pueden expresarse en términos de funciones elementales. En aplicaciones esto
conduce entonces a la necesidad de calcular las integrales definidas numéricamente, por lo cual, en
cualquier cálculo numérico, la precisión se vuelve un problema.
Uno de los principales problemas en la precisión de las integración numérica es similar al problema
de obtener graficas que sean precisas, ya que la computadora solo maneja un número finito de
datos de información discreta.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

INTEGRALES INDEFINIDAS
Entre la siguiente secuencia de comandos:
>> syms x
>> int(x^2)
>> diff(ans)

Repita el mismo procedimiento para la siguiente función:


𝑥
a) ∫ (𝑥−1)(𝑥+2)(𝑥2 −1)(𝑥+1)
1
b) ∫ 1+3𝑥+𝑥5

c) ∫ sin⁡(sin⁡(𝑥 3 ))
d) ∫(1 + 𝑥 6 )3/4

Para obtener el resultado simplificado del resultado ingrese el comando simplify (ans).
Esta sección tiene como fin introducción al alumno en los comandos usados para el cálculo de
integrales indefinidas. MATLAB no es capaz de encontrar una integral para algunas integrales. Esto
obedece al hecho de que no todas las funciones tienen una antiderivada en términos de funciones
elementales. La diferencia entre este concepto y el concepto de integrabilidad debe ser tomado en
cuenta.

INTEGRALES DEFINIDAS Y APROXIMACION NUMERICA

Ingrese la siguiente secuencia de comandos:


>> format long
>> syms x
>> int(x^2, 0, pi) calculo simbólico
>> double(ans) convierte a valor numérico
>> quad('x.^2', 0, pi) computo numérico usando el método de
Simpson.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING
Use ambos comandos int y quad para integrar las siguientes funciones en un intervalo de [0, 1/2].
Cuando use el comando quad asegurece de encerrar la función entre la comilla simple ‘ ’, asi mismo
que los operadores “ * / ^ ” deben de teclearse como se muestra a continuación “ .* ./
.^ ” dado que el comando quad trata a la variable como una matriz.

𝑥
a) ∫ (𝑥−1)(𝑥+2)(𝑥2
−1)(𝑥+1)

Los siguientes incisos evalúelos en un intervalo de [0, 1]

1
b) ∫ 1+3𝑥+𝑥5

c) ∫⁡sin⁡(𝑥 3 )
d) ∫(1 + 𝑥 6 )3/4

Cuando vaya adquiriendo practica, observara que incluso para algunas integrales relativamente
sencillas, la integral no pueda ser encontrada en términos de funciones elementales. Sin embargo
la computadora puede obtener una respuesta numérica usando arreglos de aproximaciones
polinomiales del integrando (método de Simpson).

INTEGRALES IMPROPIAS

Entre la siguiente secuencia de comandos:


>> syms x
>> int(1/sqrt(x^6+1), 0, inf)
>> simplify(ans)
>> double(ans)
Use los comandos anteriores para evaluar las siguientes integrales (puede que encuentre mensajes
de error al momento de evaluarlas).
NOTA: el logaritmo neperiano o natural dentro de MATLAB se escribe como el comando log
mientras que el logaritmo de base 10 con el comando log10.
AUTOMATIC CONTROL
MECHATRONICS ENGINEERING

REFERENCIAS

[1] David Báez López. “MATLAB con aplicaciones a la Ingeniería, Física y Finanzas.” Ed.
Alfaomega, 2006.
[2] Wikipedia, La Enciclopedia Libre. “MATLAB” http://es.wikipedia.org/ (vi 10.09)
[3] Holly Moore “MATLAB para ingenieros” Ed. PEARSON, Prentice Hall, 2007.
[4] Steve Chapin and Todd Young. “The Matlab Workbook- A supplement for Calculus,
Differential Equations and Linear Algebra” Department of Mathematics, Ohio University,
Athens, OH 45701, January 2, 2003.

También podría gustarte