% geração de novas funções seno, através de
% alterações na variável independente

clc
clearvars
close all

% variáveis
ti=-2*pi; tf=2*pi;
t=linspace(ti,tf,100);
a=pi/2; % 0 < a < pi
b=2; % b > 1
yi=-2; yf=2;

% funções
fo=sin(t);
fde=sin(t+a); % deslocamento para esquerda
fdd=sin(t-a); % deslocamento para direita
fi=sin(-t);   % inversão
fc=sin(t/b);  % expansão
fe=sin(b*t);  % compressão

% visualização
figure(1)
subplot(2,3,1)
plot(t,fo,'b-')
hold on
plot([ti tf],[0 0],'k-',[0 0],[yi yf],'k-')
hold off
axis([ti,tf,yi,yf])
grid on
title('Função original')
legend('sen(t)')
subplot(2,3,2)
plot(t,fo,'b-',t,fde,'r-')
hold on
plot([ti tf],[0 0],'k-',[0 0],[yi yf],'k-')
hold off
axis([ti,tf,yi,yf])
grid on
title('Função deslocada (esquerda)')
legend('sen(t)','sen(t+a)')
subplot(2,3,3)
plot(t,fo,'b-',t,fdd,'r-')
hold on
plot([ti tf],[0 0],'k-',[0 0],[yi yf],'k-')
hold off
axis([ti,tf,yi,yf])
grid on
title('Função deslocada (direita)')
legend('sen(t)','sen(t-a)')
subplot(2,3,4)
plot(t,fo,'b-',t,fi,'r-')
hold on
plot([ti tf],[0 0],'k-',[0 0],[yi yf],'k-')
hold off
axis([ti,tf,yi,yf])
grid on
title('Função invertida')
legend('sen(t)','sen(-t)')
subplot(2,3,5)
plot(t,fo,'b-',t,fc,'r-')
hold on
plot([ti tf],[0 0],'k-',[0 0],[yi yf],'k-')
hold off
axis([ti,tf,yi,yf])
grid on
title('Função expandida')
legend('sen(t)','sen(t/b)')
subplot(2,3,6)
plot(t,fo,'b-',t,fe,'r-')
hold on
plot([ti tf],[0 0],'k-',[0 0],[yi yf],'k-')
hold off
axis([ti,tf,yi,yf])
grid on
title('Função comprimida')
legend('sen(t)','sen(b.t)')
