Você está na página 1de 45

Sinais e Sistemas

Licenciatura em Engenharia de Electrónica e Telecomunicações e de Computadores

INSTITUTO SUPERIOR de ENGENHARIA de LISBOA

Introdução ao MATLAB
‐ Aulas de INTRODUÇÃO ao MATLAB
‐ Enunciado do Trabalho Prático de Introdução ao MATLAB – TRAB 0

Helena Sousa Ramos, André Lourenço, José Nascimento

ISEL, 2020
Índice

1. Tópicos sobre MATLAB

A. Aula de Introdução ao MATLAB

B. Aula de Introdução ao MATLAB SIMBÓLICO

2. Enunciado do Trabalho Prático de INTRODUÇÃO ao MATLAB – TRAB 0

Bibliografia
Stormy Attaway, MATLAB - A Practical Introduction to Programming and Problem Solving, 2nd Edition, Elsevier, 2012.

ii
Sinais e Sistemas

Tópicos sobre MATLAB


(A. aula de exposição de introdução ao MATLAB)
(Helena Sousa Ramos, 2018 )
(André Lourenço, 2007)
O que é o MATLAB ?

 MATLAB significa MATrix LABoratory


 Ambiente de execução
 Linguagem de programação

 MATLAB é uma linguagem de programação que


manipula dados representados matricialmente
 X=[1 2 3 4];
 Y=[1 2 3 4; 5 6 7 8; 9 10 11 12];

2008 - 2018 Helena Sousa Ramos, André Lourenço 2


Aspecto do ecrã principal

2008 - 2018 Helena Sousa Ramos, André Lourenço 3


Uso da janela de comandos (prompt)

 A janela de comandos pode ser utilizada para executar operações


aritméticas ou chamar scripts ou funções.

2008 - 2018 Helena Sousa Ramos, André Lourenço 4


Scripts (1)

 Para executar diversas linhas de código em sequência deve ser criado um


script (<nome do ficheiro>.m)

2008 - 2018 Helena Sousa Ramos, André Lourenço 5


Scripts (2)

 Ao executar o script as linhas de código serão interpretadas como se


executadas em sequência na janela de comandos.

2008 - 2018 Helena Sousa Ramos, André Lourenço 6


Declaração e Afectação de variáveis

 Na linguagem MATLAB não é necessário declarar o


tipo das variáveis.
 Por omissão as variáveis são do tipo double (64 bits).
 A declaração e a afectação são feitas em simultâneo,
através do operador “=“.

 EXEMPLO: >> x=[1 2 3 4]

x=

1 2 3 4

2008 - 2018 Helena Sousa Ramos, André Lourenço 7


Vectores e Matrizes
 Definição de um vector
>> x=[1 2 3 4]

x=

1 2 3 4

 Definição de uma matriz


 (o operador “;” permite definir várias linhas da matriz)
>> Y=[1 2 3 4; 5 6 7 8; 9 10 11 12]

Y=

1 2 3 4
5 6 7 8
9 10 11 12

2008 - 2018 Helena Sousa Ramos, André Lourenço 8


Tamanho das variáveis

 Determinação do tamanho de variáveis


>> Y=[1 2 3 4; 5 6 7 8; 9 10 11 12] >> size(Y)

Y= ans =

1 2 3 4 3 4
5 6 7 8
9 10 11 12

>> length(X)

ans =

2008 - 2018 Helena Sousa Ramos, André Lourenço 9


Vectores e Matrizes - enumeração
 Definição de um vector por enumeração
 Operador “:”
 SINTAXE: valor inicial:incremento:valor final
 Por omissão o incremento é 1;
 EXEMPLOS:

>> n=1:4 >> t=0.5:0.1:0.8

n= t=

1 2 3 4 0.5000 0.6000 0.7000 0.8000

2008 - 2018 Helena Sousa Ramos, André Lourenço 10


Vectores e Matrizes - transposição
 Transposto de um vector
 Operador “ ‘ ”
 Exemplos

>> n=1:4 >> size(n)

n= ans =

1 2 3 4 1 4
>> m=n' >> size(m)

m= ans =

1 4 1
2
3
4

2008 - 2018 Helena Sousa Ramos, André Lourenço 11


Vectores e Matrizes – indexação (1)
 A indexação de valores de vectores e matrizes
começa em 1.
 São utilizados os parêntesis curvos “()”
 Exemplos
>> A=[1 2 3; 3 2 1]
>> t=0.5:0.1:0.8
A=
t=
1 2 3
0.5000 0.6000 0.7000 0.8000 3 2 1

>> t(1) >> A(2,1)

ans = ans =

0.5000 3

2008 - 2018 Helena Sousa Ramos, André Lourenço 12


Vectores e Matrizes – indexação (2)
 Selecção ou afectação de mais do que um valor
simultaneamente usando o operador “:”
>> A=[1 2 3; 3 2 1]
>> A(2,:) >> A(2,:)=0
A=
ans = A=
1 2 3
3 2 1 3 2 1 1 2 3
0 0 0

>> A(:,1) >> A(2,1:2)

ans = ans =

1 3 2
3

2008 - 2018 Helena Sousa Ramos, André Lourenço 13


Vectores e Matrizes – indexação (3)
 Indexação linear (column-wise)
>> A=[1 2 3; 4 5 6]

A=

1 2 3
4 5 6

>> A(1) >> A(4)

ans = ans =

1 5

2008 - 2018 Helena Sousa Ramos, André Lourenço 14


Vectores e Matrizes – concatenação e remoção
 Inserção (concatenação) e remoção de linhas ou
colunas
>> A=[1 2 3; 3 2 1] >> A(3,:)=[4 5 6] >> V=[7 8 9]

A= A= V=

1 2 3 1 2 3 7 8 9
3 2 1 3 2 1
4 5 6
>> A=[A;V]
>> A(2,:)=[ ]
A=
A=
1 2 3
1 2 3 4 5 6
4 5 6 7 8 9

2008 - 2018 Helena Sousa Ramos, André Lourenço 15


Vectores e Matrizes - funções zeros e ones
 SINTAXE:
 zeros(mlinhas,ncolunas)
 zeros(mlinhas) (cria matriz quadrada de mxm)
 idem para a função ones()
 Exemplos:

>> zeros(3,2) >> ones(3)

ans = ans =

0 0 1 1 1
0 0 1 1 1
0 0 1 1 1

2008 - 2018 Helena Sousa Ramos, André Lourenço 16


Operadores aritméticos e relacionais

2008 - 2018 Helena Sousa Ramos, André Lourenço 17


Operações Aritméticas
 Operadores algébricos ou matriciais (+, -, *, /, ^)
>> X=[1 2 3 4] >> X*X' >> X'*X

X= ans = ans =

1 2 3 4 30 1 2 3 4
2 4 6 8
3 6 9 12
 Operações elemento a elemento 4 8 12 16

>> z=1:4 >> z.^2 >> X.*z

z= ans = ans =

1 2 3 4 1 4 9 16 1 4 9 16

2008 - 2018 Helena Sousa Ramos, André Lourenço 18


Operações Lógicas
 Operadores relacionais (==, ~=, >=, <=, >, <)

2008 - 2018 Helena Sousa Ramos, André Lourenço 19


Funções

 A função tem que ser definida num ficheiro cujo nome é igual ao nome da
função

2008 - 2018 Helena Sousa Ramos, André Lourenço 20


Instruções de controlo de fluxo

NOTA: A instrução switch testa se o valor da “switch_expr” é igual ao valor


de “case_expr”
2008 - 2018 Helena Sousa Ramos, André Lourenço 21
Ciclos

2008 - 2018 Helena Sousa Ramos, André Lourenço 22


Optimização: vectorização e alocação de memória
 Minimização da alocação dinâmica de memória
 Minimização da utilização de ciclos for

 Exemplos

2008 - 2018 Helena Sousa Ramos, André Lourenço 23


Gráficos
 Funções plot e stem
 SINTAXE:
 plot (x,y <,argumentos>)
 stem (x,y <,argumentos>)

2008 - 2018 Helena Sousa Ramos, André Lourenço 24


EXERCÍCIO

1. Construa um vector x1 com 100 elementos, em que


o 1º elemento deve ter o valor 1 e o último
elemento deve ter um valor aproximado a 5

2. Construa um vector x2 com 100 elementos, em que


o 1º elemento deve ter o valor 0 e o último
elemento deve ter um valor aproximado a 5

2008 - 2018 Helena Sousa Ramos, André Lourenço 25


Sinais e Sistemas

Tópicos sobre MATLAB simbólico


(B. aula de exposição de introdução ao MATLAB simbólico)
(Helena Sousa Ramos, 2008 – 2018)
Definição de funções e variáveis simbólicas
 Definição de variáveis simbólicas
syms t T0 k

 Definição de funções com variáveis simbólicas


u=heaviside(t)
y=cos(10*t)
v=sin(2*pi/T0*t)
x=10*exp(-t)

 Exemplos de operações com funções simbólicas


z=x*y
d1=v/x Nota:
simplify(d1) help simbolic
pretty(d1) help <nome da função>
finverse(x) % Função INVERSA

2008 - 2018 Helena Sousa Ramos, André Lourenço 27


Outras operações (1)
 Outras operações com funções simbólicas
 Função derivada
diff(u)
 Função primitiva e integral definido
Verificação:
int(dirac(t))
int(sin(t),t,0,1)
isequal(u,int(dirac(t)))
 Função composta (xoy)
xoy=compose(x,y)

 Função limite
limit(x,t,+inf)
limit(x,t,-inf)

 Função soma simbólica


symsum(0.5^k,k)
symsum(0.5^k,k,1,10)

2008 - 2018 Helena Sousa Ramos, André Lourenço 28


Outras operações (2)
 Outras operações com funções simbólicas
 Transformada de Fourier e transformada de Fourier inversa
syms t w f
z1=x*u
Z1w=fourier(z1,t,w)
Z1f=fourier(z1,t,2*pi*f)
z1t=ifourier(Z1w,w,t)

 Solução de equações (e de sistemas de equações)


 Solução de equações diferenciais
help solve
help dsolve

2008 - 2018 Helena Sousa Ramos, André Lourenço 29


Variáveis numéricas a partir de simbólicas
 Substituição de variáveis simbólicas
por valores numéricos (ou por outras variáveis simbólicas)

z10=subs(z1,t,0)

Z2f=subs(Z1w,w,2*pi*f) (Z2f é igual a Z1f)


Z2w=subs(Z1f,f,w/(2*pi)) (Z2w é igual a Z1w)

T0=1;
v=subs(v)
tg=-pi:0.1:pi;
vg=subs(x,t,tg);
length(vg)

2008 - 2018 Helena Sousa Ramos, André Lourenço 30


Exemplo: representação gráfica de funções (1)
% Código MATLAB:

syms t w f s T0
u=heaviside(t)
y=cos(10*t)
v=sin(2*pi/T0*t)
x=10*exp(-t)
z=x*y % modulação de amplitude: portadora (y)
z1=x*u
z2=compose(y,v) % composição
z3=cos(10*t+v) % modulação de frequência

% Substituição do valor de T0
T0=2;
v=subs(v); pretty(v)
z2=subs(z2); pretty(z2)
z3=subs(z3); pretty(z3)

2008 - 2018 Helena Sousa Ramos, André Lourenço 31


Exemplo: representação gráfica de funções (2)
% Código MATLAB (contªº):

% Substituição de t pelo vector numérico tg


tg=linspace(-pi/2,pi/2,1000);
ug=subs(u,t,tg); % variavel=subs(variavel), pq só existe um parâmetro
yg=subs(y,t,tg); vg=subs(v,t,tg); xg=subs(x,t,tg);
zg=subs(z,t,tg); z1g=subs(z1,t,tg); z2g=subs(z2,t,tg); z3g=subs(z3,t,tg);

% Gráficos
figure(20)
subplot(4,2,1), plot(tg,ug,'r-','LineWidth',1.5), grid on, title('Escalão unitário')
subplot(4,2,2), plot(tg,yg,'b-','LineWidth',1.5), grid on, title('y(t)=cos(10t)')
subplot(4,2,3), plot(tg,vg,'g-','LineWidth',1.5), grid on, title('v(t)=sin(2*pi*0,5t)')
subplot(4,2,4), plot(tg,xg,'c-','LineWidth',1.5), grid on, title('x(t)=10e^-^t')
subplot(4,2,5), plot(tg,xg,'k-.',tg,zg,'r-','LineWidth',1.5)
grid on, title('z(t)=10e^-^tcos(10t)')
subplot(4,2,6), plot(tg,z1g,'k-','LineWidth',1.5), grid on, title('z1(t)=10e^-^tu(t)')
subplot(4,2,7), plot(tg,z2g,'r-','LineWidth',1.5), grid on, title('z2(t)=yov')
subplot(4,2,8), plot(tg,z3g,'b-','LineWidth',1.5), grid on,
title('z3(t)=cos(10t+sin(2*pi*0,5t)')Helena Sousa Ramos, André Lourenço 32
Exemplo: representação gráfica de funções (3)
Escalão unitário y(t)=cos(10t)
1 1

0.5 0

0 -1
-2 -1 0 1 2 -2 -1 0 1 2
-t
v(t)=sin(2*pi*0,5t) x(t)=10e
1 50

-1 0
-2 -1 0 1 2 -2 -1 0 1 2
-t -t
z(t)=10e cos(10t) z1(t)=10e u(t)
50 10

0 5

-50 0
-2 -1 0 1 2 -2 -1 0 1 2
z2(t)=yov z3(t)=cos(10t+sin(2*pi*0,5t)
1 1

0 0

-1 -1
-2 -1 0 1 2 -2 -1 0 1 2

2008 - 2018 Helena Sousa Ramos, André Lourenço 33


EXERCÍCIO
1. Represente graficamente os sinais

   
   
     
  

   
   
      .
  

2008 - 2018 Helena Sousa Ramos, André Lourenço 34


Sinais e Sistemas TRAB 0 LEETC/ISEL

Sinais e Sistemas
Licenciatura em Engenharia de Electrónica e Telecomunicações e de Computadores

INSTITUTO SUPERIOR de ENGENHARIA de LISBOA

Trabalho de introdução ao MATLAB (TRAB 0)

José Nascimento, Helena Sousa Ramos


ISEL, revisão de 2020

-1-
Sinais e Sistemas TRAB 0 LEETC/ISEL
Aula Prévia - IMPORTANTE: As QUESTÕES respeitantes a esta aula devem ser resolvidas
em casa, de preferência antes da 1ª aula de LABORATÓRIO
Crie um script MATLAB (ficheiro .m) onde deve incluir todas as instruções realizadas neste trabalho. Deve comentar o seu trabalho
por forma a poder usá-lo como documentação de apoio à sua programação em linguagem MATLAB.

0. Operadores e Caracteres Especiais


OPERADORES
+ - * .* ^ .^ \ / .\ ./
ARITMÉTICOS
OPERADORES
== ~= < > <= >=
RELACIONAIS

OPERADORES LÓGICOS & | ~ xor any all

CARACTERES ESPECIAIS : () [] . ... , ; % ‘ .’

Através do comando help do Matlab e com as próximas sugestões, tente compreender o que fazem alguns dos operadores descritos na tabela anterior.

Verifique o que fazem as seguintes instruções:


3.14 Verifique se as expressões seguintes são iguais. Corrija caso seja
necessário.
.314e1
2*10^(-3)
31.4e-1
2^(-3)
a=1,b=2
2e(-3)
a=1;b=2
a=1;b=2;

-2-
Sinais e Sistemas TRAB 0 LEETC/ISEL
1. Declaração, Afectação e Indexação de Matrizes

Declare a matriz a=[ 10 20 50 ; 45 32 52 ; 15 12 60 ; 22 10 12 ] Realize e interprete cada uma das operações:


Verifique o que fazem as instruções: a*b
a(2,3) a+c
a(2:4,2:3) a .* c
a([5 8]) a^2
a(5:8) d^2
Altere o valor 50 da matriz a para 100 e o valor 10 para 30. a .^ 2
Declare as matrizes a>c
b=[ 11 12 21 32 ; 15 27 27 43 ; 19 12 14 7 ] (a>c) | (a>20)
c=[45 65 32 ; 43 73 27 ; 23 8 19 ; 10 18 12]
d=[1 2 ; 3 4]

2. Funções MATLAB
Determine o que faz cada uma das seguintes funções:
find(a>c) Com base nos conceitos de álgebra linear, elabore instruções
MATLAB que resolvam o seguinte sistema de equações:
max(a)
max(max(a)) x  y  z  4

min(a)  x  2y  z  3
x  z  1
sum(a) 

inv(a)

-3-
Sinais e Sistemas TRAB 0 LEETC/ISEL

Aula de Laboratório – TRAB 0 - janela de comandos, scripts, variáveis, operações e


figuras, instruções de controlo de fluxo, ciclos e funções
Crie um script MATLAB (ficheiro .m) onde deve incluir todas as instruções realizadas neste trabalho. Deve comentar o seu trabalho
por forma a poder usá-lo como documentação de apoio à sua programação em linguagem MATLAB.
No final da aula deve mostrar ao docente presente na sala o resultado do seu trabalho.

1. Declaração de Vectores
Faça as seguintes declarações de vectores e verifique o que fazem.
V=-2:3:20 Defina um vector t com elementos de 0 até aproximadamente 0.1 e
com 200 pontos.
V=-2:-3:20
Verique o que fazem as funções
V=2:-3:-20
size(t)
V=2:3:-20
length(t)
Verique o que faz a instrução
Construa os seguintes vectores:
tlin=linspace(0,0.1,200)
t0=-31:32;
comparando os vectores t e tlin. Compare em particular o
x1=4*t0; x2=-4*t0;
incremento em cada um dos vectores e a dimensão dos vectores.
tx=-(6*32-1):6*32;
x=[x1 x2 x1 x2 x1 x2];
Usando a função plot() represente graficamente o sinal x=f(tx).

-4-
Sinais e Sistemas TRAB 0 LEETC/ISEL
2. Representação gráfica de vectores
Considere o vector t que acabou de definir na secção anterior. Verifique o que faz a instrução figure. Execute help figure
Construa um vector y=f(t), em que f(t) é uma exponencial real para mais detalhes.
decrescente, ou seja, y=exp(-t/k), arbitrando previamente um Construa outro vector, uma sinusoide de amplitude 10, frequência
valor para k. Denomine k1 o valor de k arbitrado e y1 o 50Hz e fase π/8: x=10*sin(2*pi*50*t+pi/8);
correspondente vector y.
Ajuste a frequência da sinusoide por forma a que consiga ver 3
Agora determine um novo valor de k de modo a que o último valor ciclos completos no intervalo de tempo definido para t (vector
do vector y seja 0.3. Denomine k2 o novo valor de k e y2 o temporal definido na questão anterior). Use a instrução plot para
correspondente vector y. realizar a visualização gráfica da sinusoide.
Faça a representação gráfica de yi=fi(t), para i=1,2. Use o comando Verifique graficamente o resultado quando a frequência da
help plot, para poder ver a versatilidade da função plot(). sinusoide toma os valores 1000Hz e 0.1Hz. Explique o que observa.
Nomeadamente, use as instruções:
Determine w, produto de x por y. Lembre-se que se multiplicam
figure, plot(t,yi,’g’); vectores elemento a elemento com a notação “.*”.
figure, plot(t,yi,’.’); Faça o plot de x, y e w. Use o comando subplot para representar
figure, stem(t,yi); na mesma janela gráfica os vectores x, y e w.
Compare os resultados que obtém. Use os comandos hold on; ... hold off; para representar
no mesmo gráfico os vectores x, y e w.

-5-
Sinais e Sistemas TRAB 0 LEETC/ISEL
3. Funções de Controlo de Fluxo
Conhece de outras linguagens de programação as intruções: if-then-else; for; switch; e outras que fazem o controlo de fluxo nos programas.
Em MATLAB estas funções também estão definidas.
Execute as seguintes instruções: otherwise
a = 2.5; disp(Siga as instruções!!')
if (a > 2) end
b = a + 2; Execute o seguinte código (ciclos):
else a = [ 4 2 –3 5 –1 2 3 2 –6 1];
b = a – 2; d = length(a);
end for i = 1: d
Verifique o valor de b após esta operação. Execute o comando if a(i) > 0
help if para verificar as outras opções deste comando.
b(i) = 1;
else
b(i) = -1;
Execute a seguinte operação e observe o resultado obtido. end
choice = input('Introduza: 1, 3, ou 5 > '); end
switch choice
case 1
Verifique como ficou o vector b depois desta instrução.
disp('É um 1 (um)!!') Verifique se existe outra forma de afectar o vector b com os
case 3 mesmos valores!
disp('É um 3 (três)!!')
case 5
disp('É um 5 (cinco)!!')

-6-
Sinais e Sistemas TRAB 0 LEETC/ISEL
4. Functions
O MATLAB permite que o utilizador crie as suas próprias funções em ficheiros com extensão .m , para que se possam invocar tal como as funções
próprias do MATLAB. Tenha em atenção que o nome do ficheiro .m tem que ser o mesmo do nome da função.

A sintaxe genérica de criação de funções é: Recorra à instrução help function para mais detalhes sobre
estas funções.
function [x,y]=<nome>(a,b,c)
Os parâmetros de entrada da função são os valores de A, B , α, β e
% Linhas de help que são vistas pelo utilizador
da variável de selecção.
% quando faz help desta função
São devolvidos três vectores: os vectores constituídos pelo módulo
linhas de código
e pelo argumento de x  t  ou os vectores constituídos pela parte
% comentários internos da função
real e pela parte imaginária de x  t  e, em qualquer dos casos
linhas de código anteriores, o vector constituído pelos valores do tempo a usar para
a,b e c são os parâmetros de entrada da função e os parâmetros de representar graficamente os vectores módulo e argumento ou
saída são o x e o y. Todas as variáveis declaradas dentro da função parte real e parte imaginária de x  t  .
são internas, pelo que não são vistas fora do scope desta.
O script que chama a função criada deve representar, na mesma
Exemplifique o uso de funções resolvendo o exemplo seguinte. janela gráfica, o módulo e o argumento ou a parte real e a parte
imaginária de x  t  . Deve ainda ler previamente, da janela de
Realize uma função que faça a geração de uma função exponencial comandos, o valor da variável de selecção. Para tal, use a função
C e  st , t  0 input(). Faça help input para maior detalhe do funcionamento
complexa. x  t    , com C  A  jB, A, B  R e desta função.
 0, t  0
s    j ,  , R e que calcule, de acordo com o valor de uma Associe a este script as condições necessárias para que não haja
erros por parte do utilizador da função.
variável de selecção, os vectores constituídos pelo módulo e pelo
argumento de x  t  ou os vectores constituídos pela parte real e Tenha em atenção que a geração do vector dos tempos deve
garantir, automaticamente, horizontes temporais que permitam
pela parte imaginária de x  t  . Use, para cálculo dos resultados uma visualização gráfica adequada.
pedidos, as funções MATLAB: abs(), angle(), real() e imag().

-7-
Sinais e Sistemas TRAB 0 LEETC/ISEL

Aula de Laboratório – TRAB 0 – Cálculo simbólico

5. Definição de sinais simbólicos, conversão em vectores numéricos e representação gráfica dos sinais
Usando a instrução syms, defina simbolicamente os sinais básicos contínuos seguintes: Escalão Unitário; Pulso Rectangular; Pulso Triangular; Sinusóide
(nota: sinais definidos a cor vermelha). Use as expressões seguintes, definindo os parâmetros dos sinais igualmente como simbólicos.
Em casa deve resolver esta questão para os restantes sinais definidos na tabela.

 A, t  0  t  td   A , t d   2  t  t d   2
  
x1 t  A  u t    x2  t   A    
 0, t  0    0 ,caso contrário
  t  td 
 A   1    , td    t  td
  
 A, t  0
 t  t 0    t  td  
x3  t   A       A   1  , t  t  t   x  t   A  sign  t    0, t  0
 
d d 4
       A, t  0
0 ,caso contrário 


sen   t 
x5  t   A  sinc  t   A  x6  t   A  sen  2f0 t   
t

Atribua valores convenientes aos parâmetros dos sinais e faça a substituição desses valores nas funções simbólicas que tinha obtido. Use a instrução
MATLAB subs().
Defina convenientemente vectores temporais t, numéricos e com pelo menos 500 pontos, e represente graficamente, na mesma janela gráfica, todos
os sinais.

-8-
Sinais e Sistemas TRAB 0 LEETC/ISEL
6. Cálculo da potência média e da energia de sinais
Para os sinais x2 t  , x3 t  e x6 t  definidos na questão 5, determine a sua potência média e a sua energia. Elabore instruções que classifiquem
automaticamente os sinais como SINAIS de POTÊNCIA ou como SINAIS de ENERGIA.

7. Cálculo e representação gráfica da derivada e da primitiva de sinais definidos simbolicamente


Defina simbolicamente os sinais

 t   t 
y1  t   10    3 
y2  t   sign  t   y1 t  y3 t     3 
 2  10   10 
Usando as instruções MATLAB diff() e int() determine respectivamente a derivada e a primitiva de cada um dos sinais.
Represente, na mesma janela gráfica, os sinais originais, as suas derivadas e as suas primitivas.
Tenha em atenção a necessidade de representação de funções Dirac no caso das derivadas de alguns dos sinais. Use a instrução stem() nessa
representação.

8. Funções
Construa funções MATLAB que retornem alguns dos sinais (simbólicos) indicados na questão 5, bem como o valor da sua ENERGIA ou da sua POTÊNCIA.
 Deve ser retornado um indicador que classifique o sinal como sinal de energia ou sinal de potência, o qual permitirá identificar qual o
significado do valor retornado: (E ou P);
 As funções MATLAB devem aceitar como parâmetros os valores de t0, τ, T0, etc, característicos de cada função;
 As funções MATLAB devem representar graficamente os sinais em estudo num intervalo de tempo DELTAt.
As funções MATLAB devem ser chamadas por um script que apresenta ao utilizador um Menu de opções e que lê: a opção escolhida, os parâmetros
característicos necessários, bem como o intervalo de tempo DELTAt para a representação gráfica.
Para leitura e escrita de valores da ou na janela de comandos, veja como funcionam as instruções MATLAB input() e fprintf().

-9-

Você também pode gostar