BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
Gráfica derivada e Integral de una función discreta y continua en matlab
1. Facultad de Ingeniería Electrónica
CONSULTA
Fabián Garzón O.
Ingeniería Electrónica
5TO NIVEL
SEÑALES Y SISTEMAS
Profesor: Ing. Vinicio Tapia
2. GRAFICACIÓN DE LA DERIVACIÓN E INTEGRACIÓN
DE SEÑALES CONTINUA EN MATLAB
Primera Derivada de Señal Continua
En la primera derivada de una señal continua se debe considerar que dicha señal está compuesta por funciones
Escalón y funciones Rampa. Cuando se derivada una función Rampa se obtiene como resultado una función
Escalón; y cuando se deriva una función Escalón se obtiene una función Impulso o conocido como Delta de
Dirac.
Tomando en cuenta estas características de la primera derivada de la señal continua de entrada, Ya podemos
plantear la estructura para graficar en Matlab:
Una vez construida la función definida por tramos, que en nuestro caso la llamamos f 1, procedemos a derivarla
con el comando diff() , dicho comando nos permite obtener la primera derivada de la función f, pero cuando
este comando realiza su acción nos genera un nuevo vector, almacenado en el vector df en nuestra
programación, que tiene una dimensión diferente al vector que almacena el dominio de la función (denominado
1
Remítase la sección: Ejercicio Aplicativo “Señal Continua” para identificar como se construyó la función f por tramos.
3. t), y al ser los vectores df y t de diferente dimensión el comando plot() no podrá graficar debido a que este
comando exige que ambos vectores sean de igual dimensión.
La solución para este problema se da ajustando el vector df a la misma dimensión que el vector dominio (t)
realizado de la siguiente manera:
esta forma en la programación nos permite redimensionar el vector df a la misma dimensión que el vector t; una
vez ajustado el vector df, éste se almacenará en un nuevo vector adf que ya tendrá los mismos valores que df
pero con la característica singular de que este vector ya posee la misma dimensión que el vector dominio t,
permitiéndonos así poder graficar con el comando plot() los vectores adf, que tendrá los valores de “y” y
corresponden a la derivada, y el vector t, que posee los valores del dominio de la función. Obteniendo la
siguiente gráfica:
Como se observa en la gráfica, el comando diff() nos permite obtener la derivada de la función, pero nunca
consideró que las funciones rampa de la señal de entrada, al ser derivadas, se convierten en una función
escalón.
Para solucionar este problema debemos recordar que la función Escalón puede ser representado como una
función de Pulso Rectangular, esta función puede ser graficada mediante el comando rectplus(t,w), donde
el primer parámetro t representa el dominio donde va ser graficado el pulso rectangular y el segundo parámetro
w representa el ancho que va tener el pulso. Obteniendo la siguiente gráfica:
4. Segunda Derivada de Señal Continua
Al aplicar la primera derivada a la señal continua conseguimos una gráfica que está compuesta de funciones
escalón y funciones impulso (Deltas de Dirac).
Miércoles la función escalón se analizó la primera derivada y se llegó a la conclusión que la derivada de una
función escalón es una función impulso; pero ahora el problema se centra en derivar la función impulso o Delta
de Dirac.
Cuando se deriva una función impulso o Delta de Dirac, se debe considerar que:
Delta de dirac
(impulso)
Primera derivada
(Doblete)
Segunda derivada
(Triplete)
Tercera derivada
(Cuadriplete)
5. Considerando lo anteriormente expuesto, podemos plantear nuestra programación en Matlab de la siguiente
manera:
Ayudándolos de la gráfica de la primera derivada podemos identificar las funciones impulso dadas, si esta
primera derivada se la vuelve derivar obtenemos la segunda derivada de tal manera que se tendrán que derivar
primero las funciones impulso; para ello en nuestra programación vamos a crear dichos impulsos para luego
unirlos en una sola función y a esta derivar y observar los dobletes que se producirían, para esto la mejor forma
de representar la función impulso es a través de la función seno cardinal.
Para poder conseguir que un seno cardinal represente una función impulso lo que se debe hacer es variar su
frecuencia para que así se acorte su distancia y llegue a formar un impulso unitario.
La función seno cardinal en hablarse la realiza mediante el comando sinc(t) donde t representa el dominio de la
función, ahora para cortar su distancia en convertirlo en un unitario tenemos que multiplicarlo por un parámetro
quedando el comando de esta manera: sinc(A*t) , donde A es un valor por el que hay que multiplicar (en
nuestro caso vale 100) al dominio para que éste reduzca su distancia quedando el comando empleado así:
6. Cabe recalcar que esta función de ser desplazada en el tiempo consoló la variación en su dominio, y que al
multiplicar a esta función por un valor estaríamos cambiando su amplitud; de esto nos podemos ayudar a crear
impulsos no unitarios.
Una vez creado todos los impulsos sumamos dichas funciones para formar una sola, y a esta función nueva,
denominada d en la programación que, como es lógico pensar esta función será un tren de impulsos (deltas de
dirac) , la derivamos obteniendo un tren de impulsos con dobletes que son las derivadas de los respectivos
Deltas de dirac dados en la primera derivada. Obteniendo la gráfica así:
A estos dobletes habrá que agregar los impulsos que ha generado los escalones de la primera derivada,
ayúdanos de la función sinc(t) para tal efecto de la siguiente manera:
Obteniendo consigo completar la segunda derivada representada en esta gráfica:
7. Integral de Señal Continua
Poder realizar la integral de una función en Matlab debemos trabajar de forma simbólica para ello vamos a usar
el comando syms(x) que nos permitirá declarar variables simbólicas, utilizando de la siguiente manera:
Como la función está definida por tramos como la integral tamiz de la realiza por tramos, de ello cuando se
realice la gráfica con el comando ezplot(f) los tramos saldrán discontinuos, y ello se debe a que no se
establece las condiciones iniciales de esa integral que corresponde a la variable C en una integral indefinida.
Al corregir este principio y darle el valor correspondiente a C en cada integral se observará que la gráfica de la
señal empezará a presentar los tramos de la función integrada uno a continuación del otro, obteniendo como
gráfica lo siguiente:
8. GRAFICACIÓN DE LA DERIVACIÓN E INTEGRACIÓN
DE SEÑALES DISCRETAS EN MATLAB
Primera Derivada de Señal Discreta
Se debe recordar que una señal discreta es una señal de muestras es decir se compone de sumatoria de datos.
Es por ello que el derivar a integrar, como se le hacen las funciones continuas, no es un proceso correcto para
obtenerlas.
Se podría decir que la derivación de una señal discreta se convierte en una diferencia y la integración en un
sumatorio.
DERIVACIÓN = DIFERENCIA
Se puede obtener dos métodos para hacer la deriva de una función discreta, ellos son:
Diferencia en adelanto: aquí se aplica la siguiente ecuación.
Diferencia en retraso: aquí se aplica la siguiente ecuación.
Ambos métodos nos permiten obtener la derivada, o más apropiadamente, diferencia de una señal discreta;
las diferencia está en que la una presentará una gráfica de la señal adelantada y la otra en retraso.
En Matlab desarrollaríamos así:
Como se observa en el vector fr se almacena la función f 2 desplazada una unidad, para poder utilizar la
diferencia en retraso, realizamos la diferencia de funcione y la almacenamos en el vector df. Obtenemos la
siguiente gráfica:
2
Remítase la sección: Ejercicio Aplicativo “Señal Discreta” para identificar como se construyó la función f por tramos.
9. Segunda Derivada de Señal Discreta
Como se ve en el seno de la primera derivada en las señales discretas se habla de una diferencia, dicha
diferencia puede ser en adelanto o retraso, y eso se consigue retrasando o adelantando la señal discreta y
restando la de su original.
Para obtener la segunda derivada de la señal discreta el desplazamiento ya no será sólo una unidad, sino que se
desplazará dos unidades, en adelanto o retraso; si se deseara la tercera derivada de la señal discreta el
desplazamiento ya no sería una o dos unidades, sino que será un desplazamiento de tres unidades en adelanto
o retraso, y así sucesivamente de acuerdo a la derivada que se persiga.
Por lo tanto nuestro ecuación a utilizar para la segunda derivada quedaría expresada como:
Quedándonos la gráfica de la siguiente manera:
10. Integral de Señal Discreta
INTEGRACIÓN = SUMATORIO
La integración es un sumatorio que responde a la siguiente ecuación:
Dicha ecuación nos lleva a pensar que es una suma recursiva de los valores otorgados a la función discreta
correspondiente a cada punto del dominio. Realizando la integración en Matlab tendríamos:
El comando for() nos permite realizar la suma recursiva de los valores de la función discreta y generar el
sumatorio propuesto en la ecuación, con ello obtenemos la siguiente gráfica:
11. EJERCICIO DE APLICACIÓN
Señal Continua
CÓDIGO MATLAB
clear; clc;
% >>>>>>GRAFICA DE LA SEÑAL CONTINUA<<<<<<<
%>>establecimiento del dominio
t=-5:0.001:5;
%>>GRÁFICO DE LA SEÑAL DADA
f1=t+1;
f2=2;
f3=1;
f4=((-2)*(t))+3;
f5=0;
f=(f1.*((t>=-2)&(t<=-1)))+(f2.*((t>-
1)&(t<=0)))+(f3.*((t>0)&(t<=1)))+(f4.*((t>1)&(t<=2)));
%Gráfico de la señal
subplot(2,2,1);
plot(t,f,'b','LineWidth',2);
%mejora del aspecto de la gráfica
axis([-5 5 -4 4 ])
grid on;
title('Señal de Entrada');
ylabel('X(t)');
xlabel('t');
%>>GRÁFICO PRIMERA DERIVADA;
df=(diff(f)); %calula la primera derivada de la señal de entrada (f)
adf=[df 0]; %Ajusta al vector df para que tenga la misma dimensión que el vector
t
% y ambos vectores puedan ser graficados en el comando plot()
p1=1*rectpuls(t+1.5,1); %genera las F.Escalon para representar las
% derivada de la F. Rampa
p2=(-2)*rectpuls(t-1.5,1);
p=(p1+p2); % unimos las funciones escalones para formar una sola función
%Gráfico de la señal
subplot(2,2,2);
plot(t,adf,'m','LineWidth',1);
hold on;
plot(t,p,'m','LineWidth',2);
hold on;
%grafico de picos de los impulsos
plot(-1,2,'^m');
plot(2,1,'^m');
plot(-2,-1,'vm');
plot(0,-1,'vm');
%mejora del aspecto de la gráfica
axis([-5 5 -3 3 ])
12. grid on;
title('Primera Derivada');
ylabel('X´(t)');
xlabel('t');
%>>GRÁFICO SEGUNDA DERIVADA;
%derivada de los delta de dirac
d1=sinc(100*(t+2));
d2=2*sinc(100*(t+1));
d3=(-1)*sinc(100*(t));
d4=sinc(100*(t-2));
d=(d1.*(t==-2))+(d2.*(t==-1))+(d3.*(t==0))+(d4.*(t==2));
dd=diff(d);
add=[dd 0];
%grafico de las derivada de los delta de dirac
subplot(2,2,3)
plot(t,add,'r','LineWidth',1)
hold on
%grafico de picos de los impulsos
plot(-1,2,'^r');
plot(-1,-2,'vr');
plot(2,1,'^r');
plot(2,-1,'vr');
plot(-2,-1,'vr');
plot(-2,1,'^r');
plot(0,-1,'vr');
plot(0,1,'^r');
hold on;
%Grafico impulsos adicionales de escalones en primera derivada
e1=sinc(1000*(t+2));
e2=(-1)*sinc(1000*(t+1));
e3=(-2)*sinc(1000*(t-1));
e4=(2)*sinc(1000*(t-2));
e=(e1.*(t==-2))+(e2.*(t==-1))+(e3.*(t==1))+(e4.*(t==2));
subplot(2,2,3)
plot(t,e,'r','LineWidth',1)
hold on;
%grafico de picos de los impulsos
plot(-2,1,'^r');
plot(-1,-1,'vr');
plot(1,-2,'vr');
plot(2,2,'^r');
%mejora del aspecto de la gráfica
axis([-5 5 -3 3 ])
grid on;
title('Segunda Derivada');
ylabel('X´´(t)');
xlabel('t');
13. %>>GRÁFICO INTEGRAL DE LA SEÑAL DADA
%señal dada pero tratada en forma simbólica
syms x;
ff1=x+1;
ff2=2;
ff3=1;
ff4=((-2)*(x))+3;
%Calculo de integrales de cada función
intff1=int(ff1,x)-1.5; % se ubica condiciones iniciales a la integral
intff2=int(ff2,x)+0.5;
intff3=int(ff3,x)+0.5;
intff4=int(ff4,x)+1.75;
%Grafico de la integral
subplot(2,2,4)
ezplot(intff1,[-2,-1]);
hold on
ezplot(intff2,[-1,0]);
ezplot(intff3,[0,1]);
ezplot(intff4,[1,2]);
ezplot('1.5',[2,4.5]);%grafica de la constante
ezplot('-1',[-2,-4.5]);
grid on;
axis([-5 5 -3 3 ])
title('Integral');
xlabel('t');
RESULTADO GRÁFICO