Introdução ao MatLab Aula 2

Preview:

Citation preview

Introdução ao MatLabAula 2

Sistemas Multimédia3º 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;

.0

)( 00

ottifttifB

ttBu

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;

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

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

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

NnaAng n 2cos)()(

.4/

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

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

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

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

Recommended