Está en la página 1de 21

Preliminares matemáticos

Facultad de Ciencias de la Electrónica


Benemérita Universidad Autónoma de Puebla

Licenciatura en Ingeniería Mecatrónica/Licenciatura en Electrónica


Dr. Fernando Reyes Cortés
Robótica I
Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639)
Otoño 2023
Introduction Método de diferenciación numérica Derivada de una función M ATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Parte IV

Diferenciación numérica

Contenido

4 MATLAB: diferenciación numérica


1 Introduction
Función diff()
Breve historia del cálculo diferencial e integral
5 Ejemplos
2 Método de diferenciación numérica Derivada numérica de la función sin(t)
¿Por qué utilizar diferenciación numérica? 6 Solución numérica de ecuaciones diferenciales
3 Derivada de una función lineales
Concepto de derivada ODE lineales: solución numérica
Interpretación de la derivada Simulación del método de Euler

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 2 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Breve historia del cálculo diferencial e integral

Breve historia del cálculo diferencial e integral


:
: :

Figura 1: Gottfried Wilhelm von Leibniz (1646-1716). Figura 2: Isaac Newton (1643-1727). Figura 3: Leonhard Paul Euler(1707-1783).
h iT
∂V(x)
Rt d
Notación matemática: I(t) = 0
f (σ)dσ; ẋ = dt
x; V̇(x) = ∂x
ẋ.
Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 3 / 21
Introduction Método de diferenciación numérica Derivada de una función M ATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

¿Por qué utilizar diferenciación numérica?

Diferenciación numérica

Diferenciación numérica
Es la técnica de aproximar a la derivada de una función por métodos numéricos.

La derivada es una operación matemática sobre funciones o variables de estado, y que tiene una diversidad de
aplicaciones en ingeniería. En robótica hay varios procesos donde se requiere medir la razón de cambio de las
variables. Por ejemplo,

d
La derivada de una función representa la razón de cambio con respecto al tiempo: dt
f (t).

Se utilizan en esquemas de control y en procesos de automatización:


Z t
d
τ = Kp q̃ + Ki q̃(σ)dσ − Kv q(t)
0 dt

Los algoritmos incluyen un término denominado acción de control derivativo con la finalidad de generar
amortiguamiento o freno mecánico y con dicha acción se pretende mejorar la respuesta transitoria del robot.
Para lograr esto, se inyecta la velocidad de movimiento, la cual representa la variación temporal de la
posición.

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 4 / 21
Introduction Método de diferenciación numérica Derivada de una función M ATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

¿Por qué utilizar diferenciación numérica?

La fricción viscosa y de Coulomb son fenómenos físicos que se encuentran presentes en los sistemas
mecánicos, la derivada de la posición forma parte de este fenómeno:

τ fricción = Bq̇ + Fc signo(q̇).

El modelado dinámico de sistemas mecatrónicos y robots incluye derivadas de las variables de estado
para conformar la estructura matemática adecuada para estudiar y analizar todos los fenómenos físicos
del sistema:

ẋ = f (x).

La teoría de estabilidad de sistemas dinámicos es otro ejemplo donde se utilizan derivadas: ẋ = f (x);
V(x) > 0 =⇒ V̇(x) < 0).

Hoy en día, la derivada se ha convertido en una herramienta imprescindible para realizar la


automatización de sistemas y procesos.

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 5 / 21
Introduction Método de diferenciación numérica Derivada de una función M ATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Concepto de derivada

Derivada de una función

Definición 1: Derivada de un función


Considere una función f (t) ∈ IR, continua y suave en el tiempo t; la definición de la derivada de f (t) es:

d f (t + 4t) − f (t)
f (t) = lı́m (1)
dt 4t→0 4t

donde 4t representa un infinitésimo intervalo. Si el límite existe, entonces la derivada de f (t) está dada por ḟ (t).

Notación Problema 1: Obtener la derivada de f (t) = t2


En robótica la notación para
representar la derivada de f (t) es 2
ḟ (t), es decir: f (t + 4t) − f (t) t + 4t − t2
ḟ (t) = lı́m = lı́m
4t→0 4t 4t→0 4t
d 2 2
ḟ (t) = f (t). 2 + 2t 4t + 4t − S
tS
S 2
tS 2t 4t + 4t
dt
 
= lı́m = lı́m
4t→0 4t 4t→0 4t
 
4t 2t + 4t  
= lı́m  = lı́m 2t + 4t = 2t.
4t→0 4t
 4t→0

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 6 / 21
Introduction Método de diferenciación numérica Derivada de una función M ATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Concepto de derivada

Derivada de una función

Problema 2: Obtener la derivada de f (t) = t

f (t + 4t) − f (t) t + 4t − t tC + 4t − tC 4t


ḟ (t) = lı́m = lı́m = lı́m = lı́m = lı́m 1 = 1.
4t→0 4t 4t→0 4t 4t→0 4t 4t→0 4t 4t→0

Problema 3: Obtener la derivada de f (t) = c, donde c ∈ IR es una constante

f (t + 4t) − f (t) c−c Ac − Ac 0


ḟ (t) = lı́m = lı́m = lı́m = lı́m = lı́m 0 = 0.
4t→0 4t 4t→0 4t 4t→0 4t 4t→0 4t 4t→0

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 7 / 21
Introduction Método de diferenciación numérica Derivada de una función ATLAB: diferenciación numérica
M Ejemplos Solución numérica de ecuaciones diferenciales lineales

Concepto de derivada

La derivada de la función f (t) es la razón de cambio de f con respecto al tiempo t.

d
Si f (t) representa posición, la razón de cambio de la posición es la velocidad de movimiento: dt
f (t) = ḟ (t).

d d d2
El cambio temporal de la velocidad es la aceleración: dt dt
f (t) = dt2
f (t) = f̈ (t).

d d d d3
...
Jerk es la derivada de la aceleración: dt dt dt
f (t) = dt3
f (t) = f (t).

Por otro lado, la integral de la velocidad es la posición ± una condición inicial f (0). Es decir, existe una
relación muy cercana entre la integral y la derivada; se puede considerar que son operaciones inversas
una de la otra.
La integral de una derivada:
t
Z t Z t Z t
df (σ) 
ḟ (σ)dσ = dσ = df (σ) = f (σ) = f (t) − f (0)
0 0 dσ
   0
0

retorna la función original f (t) más una constante que depende de las condiciones iniciales f (0).

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 8 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Concepto de derivada

Interpretación geométrica de la derivada

f (t+ M t) − f (t)
ḟ (t) = lı́m =m
Mt→0 t+ M t − t
f (t)
m

f (t)

f (t+ M t)
O t t + Mt t
t+ M t − t f (t)

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 9 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Interpretación de la derivada

Interpretación de la derivada

La velocidad media vm es álgebra, es decir, es la proporción


numérica, por ejemplo de la distancia recorrida f (t) entre un
:
intervalo t y se obtiene como: vm = f (t2t2)−f
−t1
(t1 )
; 4t = t2 − t1 . El
resultado es un valor numérico, por ejemplo, si un automóvil
recorre 40 m en 5 s, su velocidad media es: vm = 8 m s.
Cuando el intervalo de tiempo es muy pequeño 4t → 0,
entonces estamos hablando de una derivada: ḟ (t) = dtd f (t).

La derivada (diferenciación numérica) ḟ (t) = dtd f (t) representa


la proporción de cambio instantánea de la posición con
respecto al tiempo, obteniendo una función ḟ (t).
Figura 4: Línea tangente de la función f en el tiempo t.

La derivada representa la línea tangente que pase entre los


puntos f (t + 4t) − f (t) (ejes de ordenadas) y en 4t sobre el
eje de las abscisas. La línea tangente tiene una pendiente dada d f (t + 4t) − f (t)
f (t) = lı́m
por: f (t+4t)−f
4t
(t)
. dt 4t→0 4t

Un método ampliamente utilizado en robótica y control


automático para aproximar la derivada de f (t) es el método
de Euler.

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 10 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Interpretación de la derivada

Método de Euler o diferenciación numérica

Un método ampliamente utilizado en robótica y control automático para aproximar la derivada de f (t) es
el método de Euler.
Partiendo de la definición de derivada (1),

d f (t + 4t) − f (t)
f (t) = lı́m
dt 4t→0 4t

donde 4t representa un infinitésimo intervalo de tiempo.

Por otro lado, a la definición de derivada (1) aplicamos la técnica muestreo, siendo tk = kh, donde k ∈ N, es
decir, k = 1, 2, · · · , n y h ∈ IR+ es el período de muestreo, obtenemos:

d  f (tk + 4tk ) − f (tk ) f (tk + h) − f (tk ) ft − ftk−1


dt
f (t) tk
≈ lı́m = lı́m ≈ k (2)
4tk →0 4tk h→0 h h

tk = kh y tk−1 = (k − 1)h; se cumple que: 4tk = tk − tk−1 = kh − (k − 1)h = 


−
kh kh
 + h = h.

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 11 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Interpretación de la derivada

La técnica de diferenciación numérica aproxima la derivada de la función f en tk por medio de la pendiente


de la línea tangente en (tk , f (tk )) y (tk−1 , f (tk−1 )). El intervalo de tiempo 4tk es la diferencia entre dos puntos
consecutivos, por ejemplo: 4tk = tk − tk−1 = kh − (k − 1)h = h, donde h es la longitud de 4tk (ver figura 5).

: :

   
Figura 5: Línea tangente de la función f : tk , f (tk ) y tk−1 , f (tk−1 ) . Figura 6: Línea tangente de la función f : tk+1 , f (tk+1 ) y tk , f (tk ) .

También se puede tomar la pendiente de la línea tangente en: (tk+1 , f (tk+1 )) y (tk , f (tk )). En este caso, el intervalo
de tiempo 4tk está dado por: 4tk = tk+1 − tk = (k + 1)h − kh = h como se muestra en la figura 6.

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 12 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Función diff()

MATLAB: diferenciación numérica

Función diff
MATLAB tiene la función diff la cual realiza la diferenciación numérica entre valores adyacentes de un vector x.
La sintaxis de la función diff es la siguiente:

y= diff(x)

Retorna un nuevo vector y conteniendo la dife-


diff renciación entre valores adyacentes del vector de
entrada x

La función diff también se aplica a matrices, entonces opera en cada columna de la matriz, y retorna una matriz
con el mismo número de columnas, en este caso la sintaxis es:

B= diff(A)

Retorna una nueva matriz B conteniendo la


diff diferenciación entre valores adyacentes de cada
columna de la matriz de entrada A.

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 13 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Derivada numérica de la función sin(t)

Ejemplo 6.1:
Aproximar la derivada con respecto al tiempo de la función sen(t) mediante diferenciación numérica.
Para obtener la derivada temporal por diferenciación numérica de la función sen(t) se hace uso del método
de Euler. El intervalo de diferenciación numérica se selecciona de 0 a 10 segundos, con incrementos de un
milisegundo. El método analítico conduce dtd sen(t) = cos(t). Por lo tanto, se comparará la solución aproximada
de Euler con la solución analítica.

Figura 7: Comparación del método analítico y por diferenciación numérica.

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 14 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Derivada numérica de la función sin(t)

Código MATLAB 5: derivada_seno


Robótica I (FCES 034 003), período otoño (18 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

derivada_seno.m MATLAB versión 2023A


1 clc;
2 clear all;
3 close all;
4 % intervalo de tiempo
5 t=0:0.001:10;
6 % función a derivar
7 f=sin(t);
8 % derivada de la función sen(t) con respecto al tiempo.
df (t )
9 % es decir se obtiene ḟ (tk ) = dtkk
10 dfdt = diff(f)./diff(t);
11 % el vector df tiene dimensión n-1
12 t1=0:0.001:9.999; % nueva base de tiempo con dimensión n-1
13 %compara la derivada aproximada con el método analítico
14 plot(t1,dfdt,t1,cos(t1))

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 15 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Derivada numérica de la función sin(t)

Código MATLAB 5: derivadaEuler


Robótica I (FCES 034 003), período otoño (18 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

derivadaEuler.m MATLAB versión 2023A


1 clc; % limpia pantalla (ventana de comandos).
2 clearvars; %clear all % elimina memoria de variables.
3 close all; % cierra recursos utilizados por un programa abierto.
4 format short; % formato de dígitos a exhibir: formato corto a 4 fracciones después del punto decimal.
5 h=0.001; % período de muestreo.
6 t=0:h:10; % vector tiempo.
7 % función a derivar: diferenciación numérica de Euler.
8 f=sin(t); % t2 , 9t, sen(t)2 , cos(t) t3 .
9 [renglones, columnas]=size(t);
10 derTeorica=cos(t); % 2t, 9, 2 sen(t) cos(t), − sen(t) t3 + cos(t)3t2 .
11 derEuler=ones(renglones, columnas);
12 for k=2:columnas
f (t )−f (t )
13 derEuler(1,k)=(f(k)-f(k-1))/(t(k)-t(k-1)); % k h k−1 .
14 end
15 % compara la derivada aproximada de Euler con el método analítico.
16 plot(t,derTeorica, t, derEuler)

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 16 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

ODE lineales: solución numérica

Ecuaciones diferenciales lineales: solución numérica


La calidad de la derivada depende de la distancia entre esos puntos o del periodo de muestreo h = tk − tk−1 =
tk+1 − tk . De esta forma se puede obtener la aceleración por diferenciación numérica de la velocidad:

ḟ (tk ) − ḟ (tk−1 ) f (tk ) − 2f (tk−1 ) + f (tk−2 )


f̈ (tk ) = =
h h2

Ejemplo 7.1:
Emplear el método de Euler para convertir la siguiente ecuación diferencial en su equivalente expresión por
diferenciación numérica.
y(s) α
αu(t) = a2 ÿ(t) + a1 ẏ(t) + a0 y(t) ⇐⇒ = 2
(3)
u(s) a2 s + a1 s + a0

Empleando el método de Euler, la velocidad y aceleración toman la siguiente forma:

y(tk ) − y(tk−1 )
ẏ(t) ' ẏ(tk ) =
h
y(tk )−y(tk−1 ) y(tk−1 )−y(tk−2 )
ẏ(tk ) − ẏ(tk−1 ) h
− h
ÿ(t) ' ÿ(tk ) = =
h h
y(tk ) − 2y(tk−1 ) + y(tk−2 )
ÿ(tk ) =
h2
Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 17 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

ODE lineales: solución numérica

Por lo tanto, la ecuación diferencial 3 queda como:

αu(tk ) = a2 ÿ(tk ) + a1 ẏ(tk ) + a0 y(tk )


h i y(tk ) − y(tk−1 )
αu(tk ) = a2 y(tk )−2y(tk−1
h2
)+y(tk−2 )
+ a1 + a0 y(tk ).
h
La solución para y(tk ) está dada por:
a1 a2 −1 a1 a2
    2a  
y(tk ) = a0 + h
+ h2
αu(tk ) + 2
h2
+ h
y(tk−1 ) − h2
y(tk−2 ) .

Para implementar la solución discreta y(tk ) de la ecuación (3) se requieren los estados y(tk−1 ) y y(tk−2 ) y el
período de muestre h.

El método de Euler es ampliamente utilizado para resolver ecuaciones diferenciales lineales, usando el
procedimiento de este ejemplo se obtiene la solución en forma discreta de sistemas dinámicos lineales.

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 18 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Código MATLAB 3: segundoOrdenEuler


Robótica I (FCES 034 003), período otoño (18 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

segundoOrdenEuler.m MATLAB versión 2023A


1 clc; clearvars; close all; format short
2 ti=0; h=0.001; tfinal= 10; t=ti:h:tfinal; % vector tiempo.
3 wn=1; rho=0.35; % parámetros de la planta.
4 a0=wn∧ (2); a1=2∗rho∗wn; a2=1; alpha=wn∧ 2;
5 num=alpha; %numerador
6 den=[a2 a1 a0]; %denominador
7 G=tf(num,den); % respuesta a un escalón del sistema por medio de su función de transferencia G(s).
y(s) α
8 [y1, t]=step(G,t); % respuesta a un escalón: u(s) = a2 s2 +a1 s+a0
.
9 [n, m]=size(t);
10 y=zeros(n,m); u=ones(n,m); u(1,1)=0;
11 for k=3:n
12 y(k)=(1/(a0+a1/h+a2/h∧ 2))∗(alpha∗u(k)+(2∗a2/h∧ 2+a1/h)∗y(k-1)-a2/h∧ 2∗y(k-2));
13 end
14 figure %1 subplot(3,1,1); plot(t,y1)
15 subplot(3,1,2); plot(t,y)
16 subplot(3,1,3); plot(t,y1, t,y)

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 19 / 21
Introduction Método de diferenciación numérica Derivada de una función MATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Simulación del método de Euler

w2n
   
0 1 0  
G(s) = 2 ⇒ ẋ = 2 x + 2 u; y= 1 0 x
2
s + 2ρwn s + wn −wn −2ρwn wn

Código MATLAB 4: sso


Robótica I (FCES 034 003), período otoño (18 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

sso.m MATLAB versión 2023A


1 function xp =ssoA(t,x)
2 %frecuencia natural de resonancia wn
3 w_n=1;
4 % factor de amortiguamiento ρ
5 rho=0.35;
6 %Matriz A
7 A=[ 0, 1;
8 -w_n∧ 2, -2*rho*w_n];
9 %Matriz B
10 B=[0;
11 w_n∗w_n];
12 %señal de entrada
13 u=1; %sistema dinámico lineal
14 xp=A*x+B*u;
15 end

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 20 / 21
Introduction Método de diferenciación numérica Derivada de una función M ATLAB: diferenciación numérica Ejemplos Solución numérica de ecuaciones diferenciales lineales

Simulación del método de Euler

Código MATLAB 5: simusso


Robótica I (FCES 034 003), período otoño (18 de agosto de 2023). Licenciatura en Mecatrónica/Electrónica.
Dr. Fernando Reyes Cortés. Facultad de Ciencias de la Electrónica, BUAP.

simusso.m MATLAB versión 2023A


1 clc clear all close all;
2 ti=0; tf = 10; h=0.001; % parámetros de simulación:
3 sigma=ti:h:tf; % intervalo de simulación
4 cond_iniciales=[0;0];
5 opciones=odeset( RelTol , 1e-06, AbsTol ,1e-06, InitialStep ,h, MaxStep ,h);
´

´
´

´
6 disp( Simulación de un sistema lineal de segundo orden )
´

´
7 [t,x]=ode45( ssoA ,sigma,cond_iniciales,opciones);
´

8 [n, m]=size(t);
9 y=zeros(n,m); u=ones(n,m); u(1,1)=0;
10 wn=1; rho=0.35; % parámetros de la planta.
11 a0=wn∧ (2); a1=2∗rho∗wn; a2=1; alpha=wn∧ 2;
12 for k=3:n
13 y(k)=(1/(a0+a1/h+a2/h∧ 2))∗(alpha∗u(k)+(2∗a2/h∧ 2+a1/h)∗y(k-1)-a2/h∧ 2∗y(k-2));
14 end
15 figure(1), %1
16 subplot(3,1,1); plot(t, x(:,1))
17 subplot(3,1,2); plot(t,y)
18 subplot(3,1,3); plot(t,y, t, x(:,1))

Dr. Fernando Reyes Cortés Período: Otoño ( 18 de agosto de 2023) Benemérita Universidad Autónoma de Puebla Licenciatura en Ingeniería Mecatrónica/Electrónica
Robótica I (FCES 034 003, NRC: 20639) Preliminares matemáticos Microsoft Teams (Otoño 2023 ROBOTICA I, NRC: 20639) Facultad de Ciencias de la Electrónica 21 / 21

También podría gustarte