Thursday, October 12, 2006

CONVOLUCIÓN CONTINUA

Los siguientes programas son una simulación discreta de la convolución continuca. Presentan la evolución de la convolución paso a paso. para dos pares de funciones diferentes.

1. Descargarlos por separado
2. Ejecutarlos (presionar ENTER para iniciar l evolución)
3. Observar la evolución

NOTA: la velocidad de ejecución puede variarse cambiando el argumento del comando PAUSE en la línea 18 (el número de linea puede variar). Si se desea una ejecución manual, dejar PAUSE sin argumento. En este caso el programa continua solo con ingreso de la tecla ENTER.

%PROGRAMA 1
clear all;close all;pack
t=linspace(0,99,100);N=length(t);
f=zeros(1,N);f(41:60)=1;
b=zeros(1,N);g0=linspace(0,1.2,30);gr=fliplr(g0);
g=b;g(06:35)=g0;
figure(1);plot(t,f,'.-',t,g,'r.-');grid on
h=b;
figure(2);title('PRESIONE ENTER')
pause
for k=1:71;
g=b;g(k:k+29)=gr;
subplot(3,1,1);plot(t,f,'.-',t,g,'r.-');grid on
hk=trapz(t,f.*g);
h(k)=hk;
subplot(3,1,2);plot(t,f.*g,'m.-');grid on;axis([0 100 0 1.5])
subplot(3,1,3);plot(t,h,'g.-');grid on;axis([0 100 0 20])
pause(0.1);
end
%FIN PROGRAMA 1


% PROGRAMA 2
clear all;close all;pack
t=linspace(0,99,100);N=length(t);
f=zeros(1,N);f(41:60)=.8*linspace(0,1,20);
b=zeros(1,N);g0=exp(linspace(-3,0,30));gr=fliplr(g0);
g=b;g(06:35)=g0;g1=g;
figure(1);plot(t,f,'.-',t,g,'r.-');grid on
h=b;
figure(2);title('PRESIONE ENTER')
pause
for k=1:71;
g=b;g(k:k+29)=gr;
subplot(3,1,1);plot(t,f,'.-',t,g,'r.-');grid on;ylabel('f,g');
hk=trapz(f.*g);
h(k)=hk;
subplot(3,1,2);plot(t,f.*g,'k.-');grid on;axis([0 100 0 1]);ylabel('f·g');
subplot(3,1,3);plot(t,h,'g.-');grid on;axis([0 100 0 5]);ylabel('h=f*g');
pause(0.1);
end
%FIN PROGRAMA 2

0 Comments:

Post a Comment

<< Home