Funções de matriz no Octave
Algumas funções pré-definidas no Octave são dedicadas a matrizes e permitem poupar muito tempo durante as operações de cálculo.
Vou dar alguns exemplos práticos.
Crie uma matriz com cinco elementos e atribua-a a uma variável do tipo vetor.
>> v = [ 1 4 2 6 3 ]
v =
1 4 2 6 3
Aqui estão algumas funções de matriz no Octave:
sum()
Adiciona os elementos da matriz
>> sum(v)
ans = 16
Nota. É a soma algébrica dos valores numéricos na matriz $$ 1 + 4 + 2 + 6 + 3 = 16 $$
prod()
Multiplica todos os elementos da matriz
>> prod(v)
ans = 144
Nota. Calcula o produto dos elementos numéricos na matriz $$ 1 \cdot 4 \cdot 2 \cdot 6 \cdot 3 = 144 $$
length()
Encontra o número de elementos na matriz.
>> length(v)
ans = 5
Nota. A matriz é composta por cinco elementos [ 1 4 2 6 3 ]
mean()
Calcula a média aritmética dos elementos numéricos da matriz
>> mean(v)
ans = 3.2000
Nota. A média aritmética dos elementos da matriz é igual à soma dos elementos dividida pelo número de elementos na matriz $$ \frac{1+4+2+6+3}{5} = \frac{16}{5} = 3.2 $$
max()
Encontra o valor máximo entre os elementos da matriz
>> max(v)
ans = 6
Nota. O valor máximo na matriz [ 1 4 2 6 3 ] é seis.
min()
Encontra o valor mínimo entre os elementos da matriz
>> min(v)
ans = 1
Nota. O valor mínimo na matriz [ 1 4 2 6 3 ] é um.
find()
Encontra elementos da matriz que satisfazem um critério de seleção.
Esta função retorna a posição dos elementos na matriz e não o seu valor.
>> find(v>2)
ans =
2 4 5
Nota. Neste caso, os valores maiores que 2 na matriz [ 1 4 2 6 3 ] são os elementos nas posições 2, 4 e 5, ou seja, o segundo, quarto e quinto elemento da matriz.
sort()
Ordena os elementos do vetor em ordem crescente
>> sort(v, 'ascend')
ans =
1 2 3 4 6
ou ordem decrescente
>> sort(v, 'descend')
ans =
6 4 3 2 1
O segundo parâmetro é 'ascend' por padrão.
Portanto, se você digitar sort(v) sem especificar o segundo parâmetro, o Octave ordenará em ordem crescente.
>> sort(v)
ans =
1 2 3 4 6
round()
Arredonda os elementos da matriz para o inteiro mais próximo à direita ou à esquerda de cada número.
>> v = [ 0.2 -0.4 1.4 1.9 -2.1 ]
v =
0.20000 -0.40000 1.40000 1.90000 -2.10000
>> round(v)
ans =
0 -0 1 2 -2
fix()
Arredonda os elementos da matriz para o inteiro mais próximo de zero.
Esta função arredonda para a direita se o número for negativo ou para a esquerda se o número for positivo.
>> v = [ 0.2 -0.4 1.4 1.9 -2.1 ]
v =
0.20000 -0.40000 1.40000 1.90000 -2.10000
>> fix(v)
ans =
0 -0 1 1 -2
floor()
Esta função arredonda os elementos da matriz para o inteiro mais próximo de menos infinito (-∞), ou seja, para a esquerda do número.
>> v = [ 0.2 -0.4 1.4 1.9 -2.1 ]
v =
0.20000 -0.40000 1.40000 1.90000 -2.10000
>> floor(v)
ans =
0 -1 1 1 -3
ceil()
Arredonda os elementos da matriz para o inteiro mais próximo de mais infinito (+∞), ou seja, para a direita do número.
>> v = [ 0.2 -0.4 1.4 1.9 -2.1 ]
v =
0.20000 -0.40000 1.40000 1.90000 -2.10000
>> ceil(v)
ans =1 -0 2 2 -2