Introdução ao MatLab
Aula 2
Sistemas Multimédia
3º ano Engenharia Informática
Universidade Católica de Angola
Função Passo Unitário
%F1_7a Unit step function
t=-2:0.01:5;
% make t a
vector of 701 points
q=size(t);
f=zeros(q(1),q(2)); % set f =
a vector of zeros
q=size(t(201:701));
f(201:701)=ones(q(1),q(2));%
set final 500 points of f to 1
plot(t,f),title('Fig.1.7a Unit
step function');
axis([-2,5,-1,2]); % sets
limits on axes
xlabel('time, t');
ylabel(' u(t)');
grid;
B if
Bu(t  t0 )  
 0 if
t  t0
t  to .
Função Passo Genérico
%F1_7b Signal g(t) multiplica f(101:501)=2.5cos(5*t(101:501) por funções pulso ([u(t+1)-u(t-3)]
%F1_7b Signal g(t) multiplied by a pulse functions
t= -2:0.01:5;
q=size(t);
f=zeros(q(1),q(2));
f(101:501)=2.5-cos(5*t(101:501));
plot(t,f),title('Fig.1.7b Signal g(t) multiplied by a
pulse functions');
axis([-2,5,-1,4]);
xlabel('time, t');
ylabel(' g(t)[u(t+1)-u(t-3)]');
grid;
Sequências
1. Sequência Rampa
2.
Uma sequência rampa transladada com declive B é definida
g (n)  B(n  n0 )
como:
3. Sequência rampa unitária e sequências de rampa transladada
Código MATLAB :
n=-10:1:20;
f=2*(n-10);
stem(n,f);
Sequência Exponencial Real
1.
Definida como:
f (n)  A(a)n
Exemplo para A = 10 e a = 0.9, a sequência aproxima-se de zero quando n
tende para infinito e aproxima-se de mais infinito quando n tende para menos
infinito
MATLAB Code:
n=-10:1:10;
f =10*(.9).^n;
stem(n,f);
axis([-10 10 0 30]);
Sequência Sinusoidal
1.
Uma sequência sinusoidal pode ser descrita como :
 2n

f (n)  A cos
 
 N

2.
3.
4.
5.
Onde A é um número real positivo (amplitude), N é o período, e
a a fase.
Exemplo:
A = 5, N = 16
e
a   / 4.
6.
Código MATLAB :
7.
8.
9.
n=-20:1:20;
f=5*[cos(n*pi/8+pi/4)];
stem(n,f);
Sequência sinusoidal modulada exponencialmente
1.
Obtém-se multiplicando uma sequência exponencial por uma
sequência sinusoidal. Pode ser descrita por :
 2n

g (n)  A(a) n cos
 
 N

2.
3.
Examplo:
A = 10, N = 16, a = 0.9
   / 4.
Código MATLAB :
1.
2.
3.
4.
5.
6.
n=-20:1:20;
f=10*[0.9 .^n];
g=[cos(2*n*pi/16+pi/4)];
h=f .*g;
stem(n,h);
axis([-20 20 -30 70]);
Introdução ao MatLab
1.
2.
3.
4.
5.
6.
7.
8.
9.
Números e Formato
Ajuda da linha de comando
Variáveis
Vectores e Matrizes
Desenho de funções elementares
Carregamento e salvaguarda
Ficheiros M
Instruções para ciclos e Ifs
Variáveis definidas pelo utilizador
Números e formatos
• O MatLab reconhece vários tipos de
números:
–
–
–
–
–
Integer (Ex: 12 - 678),
Real
(Ex: 4.607 - 199.34),
Complex (Ex: 2 + 3i , i=j=sqrt(-1)),
Inf
(Ex: Infinity 2/0),
NaN
(EX: Not a Number, 0/0).
• Todos os cálculos são feitos em dupla precisão
Números e Formato
– O comando format no MatLab é usado para controlar a
impressão dos números
– O nº de dígitos mostrados não tem a ver com a precisão
ou acurácia
– Para formatar a visualização pode-se usar:
format short e para notação científica com 5 casas
decimais
format long e para notação científica com 15 casas
decimais
format bank para colocação de dois dígitos
significativos nas casas decimais
Números e Formatos
Use help format para mais informação.
Comando
•
•
•
•
•
•
format short
format short e
format long e
format bank
format hex
format +
Examplo de saída
11.3045 (4-casas decimais)
1.1304e+01
1.130452467450893+01
11.30 (2-casas decimais)
Formato hexadecimal
São impressos os símbolos
+, - e espaços em braco
Ajuda no MatLab
• Ajuda e informação no MatLab pode ser
obtida de várias formas
– Na linha de comando usando help tópico
– Numa janela de ajuda separada no menu de
help
– No helpdesk MatLab mantido no disco ou CDROM
Ajuda na linha de comando
>>help pi
PI 3.1415926535897....
PI = 4*atan(1) = imag(log(1)) = 3.1415926535897....
>>help sin
SIN Sine.
SIN(X) is the sine of the
elements of X.
Variáveis
• Variáveis ans atribuídas por defeito pelo
MATLAB.
• Por exemplo, teclando >>12+2.3*2 ou
>>12+2.3*2,devolve: ans = 16.6000
• >>12+2.3*2; não devolve nada
(mas o resultado é guardado na variável "ans“)
• (escreva >>ans para ver o resultado da
operação que é 16.6000).
• Vírgulas (,) dizem ao MATLAB para mostrar
resultados
• Ponto e vírgula (; ) para suprimir impressões
Variáveis
• As variáveis é atribuído um valor numérico
teclando directamente a expressão. Por
exemplo,
– >>a = 12+2.3*2
– devolve: a = 16.6000
• A resposta não será mostrada se for colocado
um ; no fim da expressão. Por exemplo,
• >>a = 12+2.3*2;
Variáveis
• Nomes legais de variáveis consistem numa
combinação qualquer de letras e dígitos,
começando com uma letra.
– Examploss: Ali22B, Cost, X3_f22 and s2Sc6.
• Variáveis ilegais no MatLab:
Ali-22, 5x, 3Cost, &r5, %67 and @xyt56
Caracteres no MATLAB por exemplo X='a';
Strings no MATLAB por exemplo mg1='Ali';
ou mg2='MATLAB DEMOS';
Variáveis
• O MatLab usa os seguintes operadores (para
matrizes e vectores)
+ para adição
para subtração
*
para multiplicação
^
para potência
‘
para transposta
\
para divisão à esquerda
/
para divisão à direita
Variáveis
• As operações sobre matrizes também se
aplicam a escalares
– Um escalar é uma matriz 1x1
• Comentários são precedidos por um
"%".
• Os comandos who e whose dão os noms
das variáveis que foram definidas na área
de trabalho.
Variáveis
A uma variável pode ser atribuído um valor que
usa esses operadores a combinar números e
variáveis definidas previamente.
Por exemplo, uma vez que a foi definido
previamente é valida a seguinte expressão
• >>b = 5*a;
• Para determinar o valor duma quantidade
definida previamente basta teclar a variável
assocada
• >>b
• devolve: b = 83.0000
Variáveis
• Ua expressão não couber numa linha use três
ou mais ou mais pontos no fim da linha e
continue na linha seguinte
– >>c = 1+2+3+...
5+6+7;
• Há uma série de variáveis pré-definidas que
podem ser usadas em qualquer altura tal como
as variáveis definidas pelo utilizador:
– i, sqrt(-1) - j, sqrt(-1) - pi, 3.1416...
Variáveis
• Há uma série de funções pré-definidas que podem ser
usadas na definição duma variável. Algumas das mas
usadas são
abs
angle
cos
sin
magnitude dum número (valor absoluto para
números reais)
ângulo dum número complexo, em radianos
função coseno com argumento em radianos
função seno com argumento em radianos
exp
função exponencial
Variáveis
•
•
•
•
•
•
•
•
•
•
•
•
•
•
Com o y definido anteriormente,
x = abs(y)
devolve: x = 10.8167
c = angle(y)
devolve: x = 0.9828
Com a = 3,
x = cos(a)
devolve: x = - 0.9900
x = exp(a)
devolve: x = - 20.0855
Observe que exp pode ser utilizado em números complexos. Por exemplo
com y = 2+8i,
x = exp(y)
resulta: x = - 1.0751 + 7.3104i
O que pode ser verificado com a fórmula de Euler
– x = exp(2)cos(8) + j.exp(2)sin(8)
Vectores e Matrizes
• O MATLAB é baseado na álgebra de is matrizes e
vectores; mesmo os escalares são tratados como
matrizes 1x1.
• Portanto, as operações são tão simples como as
comuns num calculador.
• O número de entradas (elementos ou
componentes) é designado por “comprimento" do
vector.
• As entradas dem ser colocadas
entre […]
Vectores e Matrizes
Os vectores podem ser criados de duas formas .
O primeiro método é usado para elementos arbitrários
>>v = [1 3 5 sqrt(49)];
• Cria um vector 1x4 vector com elementos 1, 3, 5 and 7.
• Poderiam ser usadas vírgulas para separar os elementos do vector
([1,3,5,sqrt(49)]).
• Podem-se adicionar elementos ao vector
– >>v(5) = 8;
– Cria o vector v = [1 3 5 7 8].
• Vectores definidos anteriormente podem ser usados para definir
um novo vector.
• Por exemplo com o v definido anteriormente
• >>a = [9 10];
• >>b = [v a];
• Cria o vector b = [1 3 5 7 8 9 10].
Vectores e matrizes
• O segundo método é usado para criar vectores com
elementos igualmente espaçados:
– >>t = 0:0.1:10;
– Cria um vector 1x101 com os elementos 0, .1, .2, .3,...,10.
• O número a meio é o incremento
– Se forem dados apenas dois números o incremento é colocado
para o valor 1 por omissão.
– >>k = 0:10;
– Cria um vector 1x11 com os elementos 0, 1, 2, ..., 10.
Vectores e Matrizes
• São definidas introduzindo os elementos
fila a fila:
– >>A = [2 3 4; 5 -7 6; 10 5 3]
• Cria a matriz
Vectores e Matrizes
• Há uma série de matrizes especiais que
podem ser definidas:
matriz nula:
M = [ ];
matriz nxm de zeros: M = zeros(n,m);
matriz nxm de uns : M = ones(n,m);
matriz identidade nxn : M = eye(n);
Intrdu
Vectors and Matrices:
•
There are a number of special matrices that can
be defined:
null matrix:
M = [ ];
nxm matrix of zeros: M = zeros(n,m);
nxm matrix of ones: M = ones(n,m);
nxn identity matrix: M = eye(n);
Download

Introdução ao MatLab Aula 2