MATLAB BÁSICO
Prof. Alberto Adade Filho (ITA/CTA)

Índice
Seção Anterior

16. Funções Matemáticas do MATLAB
i. Elemento a Elemento

Certas funções do MATLAB operam essencialmente sobre escalares mas operam sobre cada elemento quando aplicados a uma matriz. Entre as mais comuns estão:

abs - valor absoluto ou magnitude do complexo

sqrt - raiz quadrada

real - parte real

imag - parte imaginária

conj - complexo conjugado

gcd - maior divisor comum

lcm - mínimo múltiplo comum

rem - calcula o resto de uma divisão

round - arredonda para o inteiro mais próximo

fix - arredonda para menor (em direção a zero)

floor - arredonda em direção a -¥

ceil - arredonda para maior (em direção a +¥ )

rat - aproximação racional

sin , sinh - seno, seno hiperbólico

cos , cosh - coseno, coseno hiperbólico

tan , tanh - tangente, tangente hiperbólica

asin , asinh - arco seno, arco seno hiperbólico

acos , acosh - arco coseno, arco coseno hiperbólico

atan2 - arco tangente nos quatro quadrantes

exp - exponencial (base e)

log - logarítmo natural

log10 - logarítmo base 10

sign - função sinal (retorna 1, -1 ou 0, se o argumento for positivo, negativo ou igual a zero, respectivamente)

Exs.

A = [ 1 2 3; 4 5 6]

B = fix(pi*A)

B =

3 6 9
12 15 18

C = cos(pi*B)

C =

-1 1 -1
1 -1 1

[round(-2.3) fix(-2.3) floor(-2.3) ceil(-2.3) ]

ans =

-2 -2 -3 -2

Retorna.
ii. Vetores

Outras funções operam essencialmente sobre vetores, mas se o argumento for uma matriz elas atuam a cada coluna, produzindo um vetor linha com os resultados de sua aplicação.

max - maior valor

min - menor valor

mean - média (valor médio)

std - desvio padrão

sum - soma dos elementos

prod - produto dos elementos

sort - classifica em ordem crescente

Ex.

A = [ 1 2 3; 4 5 6; 7 8 0 ];

mean(A)

ans =

4 5 3

Algumas funções lógicas e relacionais mais comuns são:

any - any(x) retorna 1 se qualquer dos elementos do vetor x for não nulo e 0 caso contrário.

all - all(x) retorna 1 se todos os elementos de x forem diferentes de zero.

find - find(x) retorna os índices dos elementos não nulos de x.

OBS. Se x for uma matriz, retorna os índices dos elementos não nulos empilhando x por coluna.

finite - finite(x) retorna 1’s para os elementos de x que forem finitos.

isnan - isnan(x) retorna 1’s para os elementos de x que forem NaN.

isinf - isinf(x) retorna 1’s para os elementos de x que forem ¥ .

OBS 1. Redução à uma condição escalar sobre uma matriz pode ser realizada como no seguinte exemplo: any(any(x)).

 

OBS 2. Operação a cada linha (em vez de a cada coluna) pode ser obtida com o uso de transpostas, por exemplo, mean(x’)’.

 

Exs:

a = [ 1 2 3 ] b = [ 1 4 6]

find (b>2)

ans =

2 3

finite(a)

ans =

1 1 1

Retorna.
iii. Funções de Matrizes

O poderio do MATLAB assenta-se sobre o grande número de funções disponíveis para argumentos do tipo matriz. Algumas das mais úteis estão relacionadas a seguir.

inv - inversa

det - determinante

size - retorna as dimensões da matriz

norm - norma (norma-1, norma-2, norma-F, norma-¥ )

rank - determina o posto

cond - determina o número de condição da matriz (medida quantitativa de quão mal condicionada é a matriz)

eig - calcula autovalores e autovetores

svd - calcula decomposição em valores singulares

poly - retorna coeficientes do polinômio característico

qr - fatoração QR

rref - forma escalonada por linha (row echelon) reduzida

expm - exponencial de matriz

sqrtm - raiz quadrada de matriz

Algumas funções pedem múltiplos argumentos de entrada, por exemplo,

teta = atan2 (v,u)

Outras retornam dois ou mais valores de saída, por exemplo,

[V,D] = eig(A)

retorna uma matriz D diagonal com os autovalores de A na diagonal principal, e a matriz V de autovetores normalizados, correspondentes aos autovalores de A.

A = [ 1 2 3; 4 5 6; 7 8 0]

[V,D] = eig(A)

V =

1.0000 0.4238 -0.3142

-0.8810 1.0000 -0.4418

0.1246 0.9046 1.0000

D =

-0.3884 0.0000 0.0000

0.0000 12.1229 0.0000

0.0000 0.0000 -5.7345

Outro exemplo é,

[y,k] = max(X)

que retorna o valor máximo y encontrado no vetor X e o índice k do elemento correspondente. Outro exemplo ainda é,

[m,n] = size(A)

que retorna as dimensões m (linhas) e n (colunas) da matriz A.

É interessante notar que algumas dessas funções podem ser usadas com menos variáveis de saída. Por exemplo,

z = eig(A)

retorna um vetor coluna z contendo os autovalores de A.

Ao concluir esta seção, acrescenta-se que o MATLAB Básico possui um conjunto bem extenso (vide Anexo) de funções nas categorias: matemática elementar, construção de matrizes, cálculo matricial, análise de dados, decomposições e fatorações de matrizes, polinomiais, processamento de sinais. Essas funções são fornecidas como funções intrínsecas ou como M-files. Toolboxes especializados ampliam esses recursos e o usuário também pode criar novas funções.

Início da Página.
Próxima Seção.