Escolar Documentos
Profissional Documentos
Cultura Documentos
Vetores
Vetores
Aula 2P -
Bibliografia
HAYKIN, S. S.; VAN VEEN, B. Sinais e sistemas, Bookman, 2001. ISBN 8573077417. Pginas 71-76.
INGLE, V. K.; PROAKIS, J. G. Digital signal processing using Matlab, 2nd ed., Thomson, 2007. ISBN
0495073113. Pginas 7-17.
1.
Introduo
O Matlab uma ferramenta muito til no estudo de problemas e no desenvolvimento
2.
Gerando vetores
2.1.
O operador :
y =
0
0.1000
0.6000 0.7000
0.2000
0.8000
0.3000
0.9000
0.4000
0.5000
1.0000
Exerccio
1. Gerar um vetor x de nmeros pares de 0 a 50.
Comandos:
2.3.
Vetores especiais
Existem vetores pr-definidos pelo Matlab e que so muito teis. Dois deles so o o-
x =
0
Exerccio
3. Gere uma matriz 2x2 constituda por zeros.
Comandos:
2.4.
Concatenao de vetores
Uma ferramenta muito interessante do Matlab a possibilidade de combinar vetores
B. Gere um vetor contendo os nmeros inteiros entre zero e 10 em ordem crescente seguidos
pelos mesmos em ordem decrescente.
>> x = [0:10 10:-1:0]
x =
0
10
3
7
4
6
5
5
6
4
7
3
8
2
9
1
10
0
Exerccio
4. Construa um vetor constitudo pelos nmeros pares de 0 a 10 seguido pelos nmeros mpares de 0 a 10.
Comandos:
2.5.
O Matlab permite somar (+), subtrair (-), multiplicar (.*) , dividir (./) vetores. Essas
operaes so realizadas elemento a elemento e s podem ser aplicadas entre vetores de mesmo comprimento.
Alm disso, quase todas as suas funes (trigonomtricas, exponenciais e outras) podem ser aplicadas a um vetor sendo que elas operam tambm elemento a elemento.
Exemplos de aplicao
a. Sendo x = [2 3 7] e y = [0 -1 3] escreva a resposta de cada um desses comandos executados no Matlab.
I) x + y [2 2 10]
ii) x y [2 4 4]
iii) x.*y
[0 -3 21]
Exerccio
5. Sendo x = [2.1 -2 3] e y = [0 -1 3], escreva o vetor resultante das seguintes
operaes:
i) 3*x
ii) x.*y
iii) x./y
iv) y.^2
Respostas:
3.
Grficos
Outra caracterstica muito interessante do Matlab para um engenheiro a facilidade de
se construir grficos complicados com ele de uma maneira muito simples. Os dois comandos
mais utilizados so:
plot(vetor.abscissa, vetor.ordenada, modo);
stem(vetor.abscissa, vetor.ordenada);
4
O comando plot traa um grfico colocando seu primeiro argumento no eixo horizontal e seu segundo argumento no eixo vertical. A string modo indica a forma como o
grfico ser traado. Veja help plot para mais detalhes.
Stem traa um grfico da seqncia em seu segundo argumento como palitos com
crculos no valor dos dados usando seu primeiro argumento como abscissa. Veja os exemplos.
Exemplos de aplicao
a. Faa um grfico da funo y ( t ) = sin(t ) para x [0,4 ]
>> t = linspace(0,4*pi,5000);
>> y = sin(t);
>> plot(t,y)
Exerccios
6. Faa um grfico de y n = sin2 n e z n = cos2 n para 30 n 30 na
12
12
4.
Scripts
At este ponto, todas as nossas interaes com o Matlab tm sido atravs da linha de comando. Entramos comandos ou funes na linha de comando e o Matlab interpreta nossa
entrada e toma a ao apropriada. Este o modo de operao preferencial quando nossa
sesso de trabalho curta e no repetitiva.
No entanto, o real poder do Matlab para anlise e projeto de sistemas vm da sua habilidade de executar uma longa seqncia de comandos armazenados num arquivo. Estes arquivos so chamados de arquivos-M porque seus nomes tm a forma nomearq.m.
Um script um tipo de arquivo-M. Scripts so arquivos-textos comuns e podem ser criados usando um editor de texto.
Suponha por exemplo que desejemos fazer um grfico da funo y (t ) = sin t em que
uma varivel que queremos variar.
Usando o editor de texto do Matlab (basta ditar edit na linha de comando), podemos
escrever um script chamado plotdata.m como mostrado a seguir.
Uma vez digitado e salvo muito fcil utilizar o script. Veja os exemplos a seguir:
Ao escrever scripts sempre interessante utilizar comentrios, linhas que comeam com
%. Se voc escrever linhas de comentrio antes do comeo das instrues do script Ao
utilizar o comando help nomearq o Matlab apresenta estas linhas na tela. Por exemplo,
>> help plotdata
Este e um script para fazer um grafico da funcao y = sin(alfa*t)
O valor de alfa precisa existir no espaco de trabalho antes
de se chamar este script
5.
Funes
Assim como os scripts, as funes definidas pelo usurio esto entre os recursos mais importantes e utilizados do Matlab. Uma funo um script que recebe um ou mais parmetros do teclado e pode devolver um ou mais parmetros ou executar uma tarefa.
fname o nome da funo criada e deve ser o nome do arquivo m em que foi gravado o
Uma vez que voc tenha salvado este arquivo como somateste no diretrio corrente,
voc pode us-lo como nos exemplos a seguir:
>> somateste(2, 4)
ans =
6
>> a = 5;
>> b = -3;
>> res = somateste(a,b)
res =
2
Exerccios
7. (a) Digite o script plotdata da pgina 7 e gere os grficos dos exemplos da mesma
pgina.
(b) Reescreva o script plotdata visto acima de forma que ele seja uma funo que recebe a varivel alfa. Ou seja, escreva uma funo que faa um grfico da funo
y (t ) = sin t no intervalo 0 t 1 e um parmetro escolhido pelo usurio. Por exemplo, o comando:
>> plotdada(50)
Resposta (listagem):
8. Gere um vetor x de 1000 valores aleatrios com distribuio uniforme no intervalo [0,1] .
Dica: use a funo rand (no sabe como usar? Para que serve o help?). Escute as amostras
armazenadas no vetor x usando o comando sound(x).
Comandos:
9. Escreva uma seqncia de comandos do Matlab que fornea um vetor contendo 100 valo-
10. Escreva uma seqncia de comandos Matlab que gere um grfico do sinal
x[n ] = cos n + 0,2r [n] onde r [n] um vetor de nmeros aleatrios com distribuio
8
11. Escreva uma funo Matlab chamada pulso2graf cujas entradas sejam dois nmeros
inteiros a e b com a < b . A funo dever fazer o grfico de um pulso com amplitude 2
no intervalo a n b . O grfico deve comear em a 2 e terminar em b + 2 .
Por exemplo, ao digitarmos:
>> pulso2graf(2,8);
Listagem da funo:
10