28
Introdução ao MatLab Aula 2 Sistemas Multimédia 3º ano Engenharia Informática Universidade Católica de Angola

Introdução ao MatLab Aula 2

  • Upload
    lyphuc

  • View
    217

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Introdução ao MatLab Aula 2

Introdução ao MatLabAula 2

Sistemas Multimédia3º ano Engenharia Informática

Universidade Católica de Angola

Page 2: Introdução ao MatLab Aula 2

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;

.0

)( 00

ottifttifB

ttBu

Função Passo Genérico

Page 3: Introdução ao MatLab Aula 2

%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;

Page 4: Introdução ao MatLab Aula 2

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);

Page 5: Introdução ao MatLab Aula 2

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]);

Page 6: Introdução ao MatLab Aula 2

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);

NnAnf 2cos)(

.4/a

Page 7: Introdução ao MatLab Aula 2

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]);

NnaAng n 2cos)()(

.4/

Page 8: Introdução ao MatLab Aula 2

Introdução ao MatLab

1. Números e Formato2. Ajuda da linha de comando3. Variáveis4. Vectores e Matrizes5. Desenho de funções elementares6. Carregamento e salvaguarda7. Ficheiros M8. Instruções para ciclos e Ifs9. Variáveis definidas pelo utilizador

Page 9: Introdução ao MatLab Aula 2

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

Page 10: Introdução ao MatLab Aula 2

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

Page 11: Introdução ao MatLab Aula 2

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

Page 12: Introdução ao MatLab Aula 2

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

Page 13: Introdução ao MatLab Aula 2

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.

Page 14: Introdução ao MatLab Aula 2

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

Page 15: Introdução ao MatLab Aula 2

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;

Page 16: Introdução ao MatLab Aula 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';

Page 17: Introdução ao MatLab Aula 2

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

Page 18: Introdução ao MatLab Aula 2

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.

Page 19: Introdução ao MatLab Aula 2

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

Page 20: Introdução ao MatLab Aula 2

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...

Page 21: Introdução ao MatLab Aula 2

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

Page 22: Introdução ao MatLab Aula 2

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)

Page 23: Introdução ao MatLab Aula 2

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 […]

Page 24: Introdução ao MatLab Aula 2

Vectores e MatrizesOs 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].

Page 25: Introdução ao MatLab Aula 2

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.

Page 26: Introdução ao MatLab Aula 2

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

Page 27: Introdução ao MatLab Aula 2

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);

Page 28: Introdução ao MatLab Aula 2

IntrduIntrduVectors 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);