introdução ao matlab aula 2 sistemas multimédia 3º ano engenharia informática universidade...
TRANSCRIPT
Introdução ao MatLabAula 2
Sistemas Multimédia
3º ano Engenharia Informática
Universidade Católica de Angola
Função Passo Unitário%F1_7a Unit step functiont=-2:0.01:5; % make t a vector of 701 pointsq=size(t);f=zeros(q(1),q(2)); % set f = a vector of zerosq=size(t(201:701));f(201:701)=ones(q(1),q(2));% set final 500 points of f to 1plot(t,f),title('Fig.1.7a Unit step function');axis([-2,5,-1,2]); % sets limits on axesxlabel('time, t');ylabel(' u(t)');grid;
%F1_7a Unit step functiont=-2:0.01:5; % make t a vector of 701 pointsq=size(t);f=zeros(q(1),q(2)); % set f = a vector of zerosq=size(t(201:701));f(201:701)=ones(q(1),q(2));% set final 500 points of f to 1plot(t,f),title('Fig.1.7a Unit step function');axis([-2,5,-1,2]); % sets limits on axesxlabel('time, t');ylabel(' u(t)');grid;
.0
)( 00
ottif
ttifBttBu
Função Passo Genérico
%F1_7b Signal g(t) multiplica f(101:501)=2.5-cos(5*t(101:501) por funções pulso ([u(t+1)-u(t-3)]
%F1_7b Signal g(t) multiplied by a pulse functionst= -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;
%F1_7b Signal g(t) multiplied by a pulse functionst= -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ências1. Sequência Rampa2. Uma sequência rampa transladada com declive B é definida
como:
3. Sequência rampa unitária e sequências de rampa transladada
)()( 0nnBng
Código MATLAB :n=-10:1:20;f=2*(n-10);stem(n,f);
Código MATLAB :n=-10:1:20;f=2*(n-10);stem(n,f);
Sequência Exponencial Real1. Definida como: 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
naAnf )()(
MATLAB Code:n=-10:1:10;f =10*(.9).^n;stem(n,f);axis([-10 10 0 30]);
Sequência Sinusoidal1. Uma sequência sinusoidal pode ser descrita como :
2. Onde A é um número real positivo (amplitude), N é o período, e a a fase. 3. Exemplo: 4. A = 5, N = 16 5. e
6. Código MATLAB :7. n=-20:1:20;8. f=5*[cos(n*pi/8+pi/4)]; 9. stem(n,f);
N
nAnf
2cos)(
.4/a
Sequência sinusoidal modulada exponencialmente
1. Obtém-se multiplicando uma sequência exponencial por uma sequência sinusoidal. Pode ser descrita por :
2. Examplo: 3. A = 10, N = 16, a = 0.9
Código MATLAB :1. n=-20:1:20;2. f=10*[0.9 .^n];3. g=[cos(2*n*pi/16+pi/4)];4. h=f .*g;5. stem(n,h);6. axis([-20 20 -30 70]);
N
naAng n 2
cos)()(
.4/
Introdução ao MatLab
1. Números e Formato
2. Ajuda da linha de comando
3. Variáveis
4. Vectores e Matrizes
5. Desenho de funções elementares
6. Carregamento e salvaguarda
7. Ficheiros M
8. Instruções para ciclos e Ifs
9. 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 Examplo de saída
• format short 11.3045 (4-casas decimais)• format short e 1.1304e+01• format long e 1.130452467450893+01• format bank 11.30 (2-casas decimais)• format hex Formato hexadecimal• format + 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 CD-
ROM
Ajuda na linha de comando
>>help piPI 3.1415926535897....PI = 4*atan(1) = imag(log(-1)) = 3.1415926535897....
>>help sinSIN 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 whowho e whosewhose dão os noms das variáveis que foram definidas na área de trabalho.
VariáveisA 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 magnitude dum número (valor absoluto para números reais)
angle ângulo dum número complexo, em radianoscos função coseno com argumento em radianossin 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);
IntrduIntrduIntrduIntrduVectors 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);
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);