clear all
clc
close all

% Esboce o módulo M(w) e a fase Phi(w) da função de transferência
% H(s)=1/(s+1)

w=0:0.01:5;
for k = 1:1:length(w)
    Hjw(k) = 1/(1+1i*w(k));
    
    % Usa as funções do Matlab para cálculo de módulo e ângulo
    modulo(k) = abs(Hjw(k));
    fase(k) = rad2deg(angle(Hjw(k)));
    
    % Calcula o módulo e o ângulo usando a fórmula encontrada
    M(k) = 1/sqrt(1+w(k)^2);
    Phi(k) = rad2deg(-atan(w(k)));

end

% Desenha os gráficos:
figure(1)
% Divide o gráfico em 2 linhas, 1 coluna e plota no 1o quadro:
subplot(2,1,1)
plot(w,modulo)
xlabel('\omega') % título do eixo x
ylabel('|H(j\omega)|') % título do eixo y
grid on % liga as linhas de grade
% Divide o gráfico em 2 linhas, 1 coluna e plota no 1o quadro:
subplot(2,1,2)
plot(w,fase)
xlabel('\omega')
ylabel('/H(j\omega)')
grid on

figure(2)
subplot(2,1,1)
plot(w,M)
xlabel('\omega')
ylabel('M(\omega)')
grid on
subplot(2,1,2)
plot(w,Phi)
xlabel('\omega')
ylabel('\Phi(\omega)')
grid on

% Forma alternativa 
% Matlab em escala logaritmica

H = tf([1],[1 1])
% ou
s = tf('s');
Hs = 1/(s+1)

figure
bode(H,{1e-5,5})
grid on

[MAG,PHASE,W] = bode(H);