GNU Octave/Aritmética

Origem: Wikilivros, livros abertos por um mundo aberto.

A aritmética em Octave pode parecer, a primeira vista, complicada, mas tendo em mente que esta é uma linguagem orientada para matrizes, as expressões que parecem complicadas se mostram, na verdade, intuitivas.

Por exemplo, se definirmos

octave> x = [1 2]
octave> y = [3 4]
octave> z = x + y

é natural esperar que z seja o vetor-linha (ou seja, a matriz 1 x 2) [4 6].

Analogamente, lembrando da orientação a matrizes, é óbvio que o resultado de:

octave> v = [1 ; -1]
octave> M = [0 2; -1 -1]
octave> v1 = M * v

será o vetor-coluna (matriz 2x1) resultante do produto matricial de M(2x2) por v(2x1), ou seja, v1 = [-2; 0].

Quando um elemento for um escalar (ou seja, uma matriz 1x1), sua multiplicação por um escalar, vetor ou matriz representa o produto escalar:

octave> lambda = 2
octave> v = [1 ; -1]
octave> v2 = lambda * v  % v2 = [2 ; -2]

A multiplicação de matrizes de tamanho incompativel resulta em erro:

octave> A = [2 3; 4 5]
octave> B = [1 2 3; 4 5 6; 7 8 9]
octave> A * B  % erro

A soma de matrizes de tamanho incompatível também resulta em erro:

octave> x = [1 2]
octave> x1 = [10 20 30]
octave> x2 = x + x1  % erro

Para fazer a multiplicação elemento-a-elemento de duas matrizes, usar ".*":

octave> x = [1 2]
octave> y = [3 4]
octave> v3 = x .* y  % v3 = [3 8]