Operadores com ponto no MATLAB/OCTAVE

Que negógio é esse de .* .^ .’?

No MATLAB/OCTAVE temos muitas operações e as vezes nos deparamos com algumas operações estranhas.

O que é .*?

O asterisco (A*B) denota a multiplicação das matrizes A  e B. O número de colunas de A deve ser o mesmo número de linhas de B.

O ponto-asterisco (A.*B) denota multiplicação elemento a elemento (elementwise multiplication). O número de linhas e colunas de A deve ser o mesmo de B.

O que é .^?

O circunflexo (A^x) denota a potenciação da matriz A pelo número x, ou seja, A elevado a x. Por exemplo A^2 = A*A e A^3 = A*A*A.

O ponto-circunflexo (A.^x) denota a potenciação elemento a elemento (elementwise power), ou seja, cada elemento terá seu valor elevado a potência x.

O que é .’?

Essa aqui confunde mesmo, pois não tem nada a ver com operações elemento a elemento.

O apóstrofo (A’) denota a matriz TRANSPOSTA e COMPLEXO CONJUGADA. A matriz é transposta (troca-se as linhas pelas colunas) e os elementos são conjugados (a parte imaginária dos números complexos mudam de sinal).

O ponto-apóstrofo(A.’) denota matriz TRANSPOSTA. A matriz é transposta (troca-se as linhas pelas colunas) mas nesse caso os elementos NÃO são conjugados.

Para matrizes com apenas números reais ambas operações fazem a mesma coisa.