Você está na página 1de 9

Matlab - Vetores

Andre Luis Martinotto


almartin@ucs.br

Universidade de Caxias do Sul, Centro de Computacao e Tecnologia da Informacao

6 de Fevereiro de 2012

Andre Luis Martinotto (Universidade de Caxias do Sul, Centro


Matlab
de Computacao
- Vetores e Tecnologia da Informacao)
6 de Fevereiro de 2012 1/9
Matlab - Vetores

Vetor
Conjunto de variaveis homogeneas (conteudo do mesmo tipo)
identificadas por um nome e individualizadas por meio de ndices.

Algoritmo 1 Cria um vetor de 10 posicoes com os numeros de 1 a 10.


1: algoritmo vetor
2: var v: vetor[1..10] de inteiro
3: i: inteiro
4: inicio
5: para i de 1 ate 10 faca
6: v[i]<- i
7: fimpara
8: para i de 1 ate 10 faca
9: escreva(v[i])
10: fimpara
11: fimalgoritmo

Andre Luis Martinotto (Universidade de Caxias do Sul, Centro


Matlab
de Computacao
- Vetores e Tecnologia da Informacao)
6 de Fevereiro de 2012 2/9
Matlab - Vetores

No MATLAB, um vetor pode ser definido elemento por elemento,


separados por espacos em branco, vrgulas ou pontos e vrgulas.

Elemento por Elemento


for i=1:10 Separados por espacos (vetor linha)
v(i)=i; v=[1 2 3 4 5 6 7 8 9];
end disp(v)
disp(v)

Separados por pontos e vrgulas


Separados por vrgulas (vetor linha)
(vetor coluna)
v=[1,2,3,4,5,6,7,8,9];
v=[1;2;3;4;5;6;7;8;9];
disp(v)
disp(v)

Andre Luis Martinotto (Universidade de Caxias do Sul, Centro


Matlab
de Computacao
- Vetores e Tecnologia da Informacao)
6 de Fevereiro de 2012 3/9
Matlab - Vetores

Na criacao de um vetor, se os incrementos entre os elementos forem


iguais, podemos utilizar a seguinte expressao:
v = <valor inicial> : <incremento> : <valor final>

Vetor com elementos de 10 a 100


Vetor com elementos de 1 a 10.
(incremento de 10).
v = 0:10
v = 0:10:100;
disp(v)
disp(v)

Observacao: se o incremento desejado for igual a 1, entao ele podera


ser omitido.

Andre Luis Martinotto (Universidade de Caxias do Sul, Centro


Matlab
de Computacao
- Vetores e Tecnologia da Informacao)
6 de Fevereiro de 2012 4/9
Matlab - Operacoes sobre Vetores

Operacoes Disponveis: Adicao (+), Subtracao (-), Multiplicacao


(*), Divisao (/ ou \), Potencia () e Transposta (0 ).

IMPORTANTE!
As operacoes de adicao e subtracao operam sobre os elementos da
matriz, ou seja, elemento por elemento.
As demais operacoes sao operacoes matriciais (se os tamanhos das
matrizes sao incompatveis, para a operacao matricial, sera gerada
uma mensagem de erro).
As operacoes (*,,/,\) podem operar por elemento da matriz se
forem precedidos por ponto.

Andre Luis Martinotto (Universidade de Caxias do Sul, Centro


Matlab
de Computacao
- Vetores e Tecnologia da Informacao)
6 de Fevereiro de 2012 5/9
Exemplo - Operacoes sobre Vetores

Comando e Sada Gerada


v=[2 3 1];
w=[3 4 2];
v+w ans = 5 7 3
v-w ans = -1 -1 -1
v*w Error using ==> * Inner matrix dimensions must agree.
v .* w ans = 6 12 2
v * w ans = 20

Grafico: -x2 +100x-1600


x=0:1:100;
y=-x.2+100.*x-1600;
grid on
plot(x,y)

Andre Luis Martinotto (Universidade de Caxias do Sul, Centro


Matlab
de Computacao
- Vetores e Tecnologia da Informacao)
6 de Fevereiro de 2012 6/9
Funcoes- Operacoes sobre Vetores

Algumas funcoes vetoriais:


Funcao Descricao
max retorna o maior elemento
min retorna o menor elemento
mean retorna a media dos elementos
std retorna o desvio padrao
median retorna a mediana dos elementos
sum a soma dos elementos
prod produto dos elementos
sort ordena em ordem crescente

Algumas funcoes no Matlab operam essencialmente sobre escalares, mas operam


sobre cada elemento se forem aplicadas a um vetor:
sin, asin, exp, abs, round, cos, acos, log, sqrt, floor, tan, atan, rem,
sign, ceil.

Andre Luis Martinotto (Universidade de Caxias do Sul, Centro


Matlab
de Computacao
- Vetores e Tecnologia da Informacao)
6 de Fevereiro de 2012 7/9
Funcoes - Operacoes sobre Vetores

Exemplo: procura o elemento maximo dentro de um vetor linha ou


coluna, em valor absoluto.

Sem utilizar funcoes sobre o vetor:

1: function elemax = MaxVetor(vetor)


2: elemax = abs(vetor(1)); indmax= 1;
3: for k = 2:length(vetor)
4: if( abs(vetor(k))>elemax)
5: elemax= abs(vetor(k));
6: end
7: end

Utilizando somente funcoes:

1: function elemax = MaxVetor(vetor)


2: elemax = max(abs(vetor));

Andre Luis Martinotto (Universidade de Caxias do Sul, Centro


Matlab
de Computacao
- Vetores e Tecnologia da Informacao)
6 de Fevereiro de 2012 8/9
Matlab - Vetores

Andre Luis Martinotto


almartin@ucs.br

Universidade de Caxias do Sul, Centro de Computacao e Tecnologia da Informacao

6 de Fevereiro de 2012

Andre Luis Martinotto (Universidade de Caxias do Sul, Centro


Matlab
de Computacao
- Vetores e Tecnologia da Informacao)
6 de Fevereiro de 2012 9/9