Ir para o conteúdo

Matrizes

Edição

Existem várias formas de inserir uma matriz: a partir do menu Inserir > Matriz..., com o atalho de teclado CTRL+M, a partir da paleta Matrizes (Matriz 3x3) ou inserindo a função mat(. Obtém-se o modelo 3x3 ou uma caixa de diálogo para indicar o número de linhas e colunas. Vamos atribuir ao nome de variável A uma matriz com as dimensões 3 (linhas) x 3 (colunas). Por exemplo, prima A: e depois CTRL+M. Aparece o modelo da matriz com 3x3 marcadores de posição vazios.

Modelo de matriz 3x3

Se mudar de ideias quanto às dimensões, pode sempre alterar as dimensões da matriz. Basta clicar dentro da matriz, no canto inferior direito. Aparece um quadrado preto com uma linha vertical e uma horizontal. Com o botão esquerdo do rato (o ponteiro muda de aspeto), arraste e corrija as dimensões. É possível fazê-lo mesmo que os marcadores de posição não estejam vazios.

Redimensionamento da matriz

Vamos agora preencher os marcadores de posição como na imagem seguinte. Ao apontar para a matriz com o rato, aparece uma descrição. Esta é a representação simbólica da matriz. Como se vê, os números reais são apresentados como frações e existem também duas variáveis não definidas (a e b, sem valores numéricos).

Matriz preenchida com valores simbólicos

Utilização: simbólico vs. numérico

Se atribuirmos valores às variáveis a e b antes da definição da matriz, o resultado seria:

Valores numéricos atribuídos

Podemos apresentar o resultado da matriz A de forma simbólica (operador →) ou numérica (operador = ). Repare na diferença:

Resultado simbólico vs. numérico

Extração de elementos

Um elemento individual da matriz também pode ser apresentado com a função el. Prima el(A, ou A[. Verá:

Extração de um elemento da matriz

Atribuição de valores aos elementos

Agora pode inserir um único inteiro (vetor) ou dois inteiros (matriz) para aceder aos elementos do vetor ou da matriz. Aqui (matriz), prima 3,1→ ou 3,1= . Aparece o valor de A na terceira linha e na primeira coluna (o índice mínimo de linha e de coluna é 1).

Atribuição de um elemento da matriz

Vetores

O SMath considera uma matriz coluna como um vetor. Os elementos de um vetor só precisam de um índice. Eis o exemplo (as matrizes linha continuam a precisar de dois índices, sendo o primeiro 1).

Indexação de vetores

Avançado

Note-se que os elementos de uma matriz podem ser de diferentes tipos de dados (numéricos, texto, unidades). Seguem-se alguns exemplos simples que demonstram esta funcionalidade.

Elementos de matriz de diferentes tipos

Repare na utilização das funções row e col para extrair uma única linha ou uma única coluna.

O SMath também suporta matrizes aninhadas, ou seja, um elemento de uma matriz pode ser também uma matriz. Veja o exemplo seguinte.

Matriz aninhada

Os elementos individuais são apresentados da mesma forma que antes.

Elemento de uma matriz aninhada

No SMath, as matrizes são arrays dinâmicos e podem alterar as suas dimensões. Por exemplo, a função matrix devolve uma matriz preenchida com zeros. Veja como se pode obter o mesmo atribuindo o valor zero ao elemento z3 4.

Matriz preenchida com zeros

Experimente agora escrever, por exemplo, z5 5:=2

Além das variáveis de matriz/vetor, existem também funções de matriz/vetor.

Funções de matriz e de vetor

A função f tem um único argumento e devolve um vetor de três elementos. O argumento pode ser um escalar, um vetor ou uma matriz. Experimente. A função ff espera um vetor de dois elementos e a função F espera dois argumentos e devolve uma matriz 2x2. Explore-as.

Ao trabalhar com matrizes, embora existam muitos operadores e funções de matrizes e vetores, mais cedo ou mais tarde acabam por ser necessários ciclos. Os mais utilizados são ciclos for simples, duplos ou aninhados. Veja este exemplo simples:

Ciclo for sobre uma matriz

É possível inicializar uma matriz vazia com dimensões fixas utilizando matrix(rows,cols) e definindo um dos dois argumentos como 0.

Inicialização de uma matriz vazia

Esta página baseia-se num artigo da antiga wiki, escrito por Davide Carpi.