Funções de matriz

Esta categoria contém as funções de matriz.

O que é uma matriz?

Uma matriz é um intervalo de células da folha de cálculo que contém valores. Um intervalo de 3 linhas e 3 colunas é uma matriz de 3 x 3:

A

B

C

1

7

31

33

2

95

17

2

3

5

10

50


A matriz mais pequena que é possível definir é uma matriz de 1 x 2 ou 2 x 1 com duas células adjacentes.

O que é uma fórmula de matriz?

A fórmula em relação à qual os valores individuais no intervalo de células são avaliados é denominada uma fórmula matriz. A diferença entre uma fórmula de matriz e as outras fórmulas é que uma fórmula de matriz trabalha com vários valores simultaneamente, enquanto que as outras lidam apenas com um.

Uma fórmula de matriz não só processa, como pode também devolver vários valores. O resultado de uma fórmula de matriz constitui também uma matriz.

To multiply the values in the individual cells by 10 in the above array, you do not need to apply a formula to each individual cell or value. Instead you just need to use a single array formula. Select a range of 3 x 3 cells on another part of the spreadsheet, enter the formula =10*A1:C3 and confirm this entry using the key combination + Shift + Enter. The result is a 3 x 3 array in which the individual values in the cell range (A1:C3) are multiplied by a factor of 10.

Além da multiplicação, é possível utilizar outros operadores no intervalo de referência (uma matriz). Com o LibreOfficeDev Calc, pode somar (+), subtrair (-), multiplicar (*), dividir (/), utilizar expoentes (^), concatenações (&) e comparações (=, <>, <, >, <=, >=). Os operadores podem ser usados em cada valor individual num intervalo de células e devolver o resultado como uma matriz se a fórmula de matriz for introduzida.

Os operadores de comparação numa fórmula de matriz tratam as células vazias do mesmo modo do que numa fórmula normal, ou seja, como zero ou como uma cadeia vazia. Por exemplo, se as células A1 e A2 estiverem vazias, as fórmulas de matriz {=A1:A2=""} e {=A1:A2=0} devolverão uma matriz de células de 1 coluna e 2 linhas que contenha VERDADEIRO.

Em que ocasiões se utiliza uma fórmula de matriz?

Utilize fórmulas de matriz se necessitar de repetir cálculos utilizando valores diferentes. Se decidir alterar o método de cálculo posteriormente, necessitará apenas de atualizar a fórmula de matriz. Para adicionar uma fórmula de matriz, selecione o intervalo de matriz completo e faça a alteração necessária à fórmula de matriz.

As fórmulas de matriz constituem também uma forma de poupança de espaço quando é necessário calcular vários valores, visto não ocuparem muitos recursos de memória. Além disso, as matrizes são uma ferramenta essencial para executar cálculos complexos, uma vez que possibilitam a inclusão de vários intervalos de células nos cálculos. O LibreOfficeDev dispõe de várias funções matemáticas para matrizes, tais como a função MATRIZ.MULT para multiplicar duas matrizes, ou a função SOMARPRODUTO para calcular os produtos escalares de duas matrizes.

Utilizar fórmulas de matriz no LibreOfficeDev Calc

Também pode criar uma fórmula em que o intervalo de referência, tal como parâmetros, indica uma fórmula de matriz. O resultado obtém-se através da interseção do intervalo de referência e das linhas e colunas em que a fórmula é encontrada. Se não houver qualquer interseção ou se o intervalo da interseção abranger várias linhas ou colunas, aparece a mensagem de erro #VALOR!. O exemplo seguinte ilustra este conceito:

Criar fórmulas de matriz

Se criar uma fórmula de matriz utilizando o Assistente de funções, terá de assinalar, sempre, a caixa de verificação Matriz, de modo a que os resultados sejam devolvidos na forma de uma matriz. Se assim não for, apenas o resultado na célula do canto superior esquerdo da matriz que pretende calcular será devolvido.

If you enter the array formula directly into the cell, you must use the key combination Shift + + Enter instead of the Enter key. Only then does the formula become an array formula.

Ícone de nota

No LibreOfficeDev Calc, as fórmulas de matriz são exibidas entre chavetas. Não é possível criar fórmulas de matriz introduzindo as chavetas manualmente.


Ícone de aviso

As células numa matriz de resultados ficam automaticamente protegidas contra modificações. No entanto, é possível editar ou copiar uma fórmula de matriz selecionando completamente o intervalo de células que constitui a matriz.


Utilizar constantes de matrizes em fórmulas

O Calc aceita matrizes incluídas em fórmulas. Uma matriz incluída está delimitada por chavetas '{' e '}'. Os elementos podem ser um número (incluindo números negativos), uma constante lógica (VERDADEIRO, FALSO) ou uma cadeia de caracteres. Não são permitidas expressões não constantes. As matrizes podem ser introduzidas com uma ou mais linhas e com uma ou mais colunas. Todas as linhas e colunas terão de ser compostas pelo mesmo número de elementos.

O separador de coluna (que separa elementos numa única linha) e o separador de linha dependem das configurações do idioma e da região. Mas neste conteúdo de ajuda, os símbolos ponto e vírgula ';' e a barra vertical '|' são usados para indicar os separadores de coluna e linha, respetivamente. Por exemplo, na configuração regional inglesa, a vírgula ',' é usada para separar colunas, enquanto que o ponto e vírgula ';' é usado para separar linhas.

Ícone da dica

Pode ver e alterar os separadores de colunas e de linhas em - Calc - Fórmula - Separadores.


Não é possível imbricar matrizes.

Exemplos:

={1;2;3}

Uma matriz com uma linha composta pelos três números 1, 2 e 3.

To enter this array constant, you select three cells in a row, then you type the formula ={1;2;3} using the curly braces and the semicolons, then press + Shift + Enter.

={1;2;3|4;5;6}

Uma matriz com duas linhas e três valores em cada linha.

={0;1;2|FALSO;VERDADEIRO;"dois"}

Uma matriz de dados mistos.

=SEN({1;2;3})

Introduzido como uma fórmula de matriz, devolve o resultado de três cálculos SEN com os argumentos 1, 2 e 3.

Editar fórmulas de matriz

  1. Select the cell range or array containing the array formula. To select the whole array, position the cell cursor inside the array range, then press + /, where / is the Division key on the numeric keypad.

  2. Either press F2 or position the cursor in the input line. Both of these actions let you edit the formula.

  3. After you have made changes, press + Shift + Enter.

Ícone da dica

Pode formatar partes distintas de uma matriz. Por exemplo, pode alterar a cor do tipo de letra. Selecione um intervalo de células e altere os atributos pretendidos.


Copiar fórmulas de matriz

  1. Selecione o intervalo de células ou a matriz que contém a fórmula matriz.

  2. Either press F2 or position the cursor in the input line.

  3. Copy the formula into the input line by pressing + C.

  4. Select a range of cells where you want to insert the array formula and either press F2 or position the cursor in the input line.

  5. Paste the formula by pressing + V in the selected space and confirm it by pressing + Shift + Enter. The selected range now contains the array formula.

Ajustar um intervalo de matriz

Se pretender editar a matriz de saída de dados, faça o seguinte:

  1. Selecione o intervalo de células ou a matriz que contém a fórmula matriz.

  2. Por baixo da seleção, à direita, verá um pequeno ícone que pode utilizar para ampliar ou reduzir o intervalo com a ajuda do rato.

Ícone de nota

Ao ajustar o intervalo de matriz, a fórmula matriz não é ajustada automaticamente. Você apenas está a alterar o intervalo de exibição dos dados.


By holding down the key, you can create a copy of the array formula in the given range.

Cálculos condicionais de matrizes

Um cálculo condicional de matriz é uma matriz ou uma fórmula de matriz que inclui uma função SE() ou SELECIONAR(). O argumento de condição na formula é uma área de referência ou o resultado de uma matriz.

No seguinte exemplo, o teste >0 da fórmula {=SE(A1:A3>0;"sim";"não")} é aplicado a cada célula contida no intervalo A1:A3 e o resultado é copiado para a célula correspondente.

A

B (fórmula)

B (resultado)

1

1

{=SE(A1:A3>0;"sim";"não")}

sim

2

0

{=SE(A1:A3>0;"sim";"não")}

não

3

1

{=SE(A1:A3>0;"sim";"não")}

sim


As seguintes funções disponibilizam o processamento forçado da matriz: CORREL, COVAR, PREVISÃO, TESTEF, INTERSEÇÃO, MATRIZ.DETERM, MATRIZ.INVERSA, MATRIZ.MULT, MODA, PEARSON, PROB, RQUAD, DECLIVE, EPADYX, SOMARPRODUTO, SOMAX2DY, SOMAX2SY, SOMAXMY, TESTET. Se utilizar as referências à área como argumentos ao chamar uma destas funções, estas comportam-se como sendo funções de matriz. A seguinte tabela faculta um exemplo de processamento forçado da matriz:

A

B (fórmula)

B (resultado)

C (fórmula de matriz forçada)

C (resultado)

1

1

=A1:A2+1

2

=SOMARPRODUTO(A1:A2+1)

5

2

2

=A1:A2+1

3

=SOMARPRODUTO(A1:A2+1)

5

3

=A1:A2+1

#VALOR!

=SOMARPRODUTO(A1:A2+1)

5


CRESCIMENTO

Calcula os pontos de uma tendência exponencial numa matriz.

Sintaxe

CRESCIMENTO(dados_y; dados_x; novos_valores_x; constante)

dados_y representa a matriz de dados Y.

dados_x (opcional) representa a matriz de dados X.

novos_valores_x (opcional) corresponde à matriz de dados X onde os valores são recalculados.

FunctionType (optional). If FunctionType = 0, functions in the form y = m^x will be calculated. Otherwise, y = b*m^x functions will be calculated.

In the LibreOfficeDev Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

Exemplo

This function returns an array and is handled in the same way as the other array functions. Select a range where you want the answers to appear and select the function. Select DataY. Enter any other parameters, mark Array and click OK.

FREQUÊNCIA

Indicates the frequency distribution in a one-column-array. The function counts the number of values in the Data array that are within the values given by the Classes array.

Sintaxe

FREQUÊNCIA(matriz_dados; matriz_bin)

matriz_dados é a matriz ou conjunto de valores cuja frequência pretende calcular.

matriz_bin representa a matriz ou conjunto de valores, nos quais pretende agrupar os valores de matriz_dados.

Ícone de nota

Pode encontrar uma introdução geral às funções de matriz na parte superior desta página.


Exemplo

Na seguinte tabela, a coluna A lista os valores de medida não ordenados. A coluna B contém o limite superior das classes em que se pretende dividir os dados na coluna A. De acordo com o limite introduzido em B1, a função FREQUÊNCIA devolve o número de medições menores ou iguais a 5. Como o limite em B2 é 10, a função FREQUÊNCIA devolve como segundo resultado o número de medições maiores que 5 e menores ou iguais a 10. O texto introduzido em B6, ">25", tem intuitos meramente informativos.

A

B

C

1

12

5

1

2

8

10

3

3

24

15

2

4

11

20

3

5

5

25

1

6

20

>25

1

7

16

8

9

9

7

10

16

11

33


Selecione um intervalo de uma só coluna para introduzir a frequência de acordo com os limites de classe. Deve selecionar um campo a mais relativamente ao limite superior da classe. Neste exemplo, selecione o intervalo C1:C6. Invoque a função FREQUÊNCIA no Assistente de funções. Selecione o intervalo de Dados em (A1:A11) e, em seguida, o intervalo de Classes no qual introduziu os limites de classe (B1:B6). Escolha a caixa de seleção Matriz e clique em Aceitar. Irá visualizar a contagem da frequência no intervalo C1:C6.

More explanations on top of this page.

MATRIZ.DETERM

Devolve a matriz determinante de uma matriz. Esta função devolve um valor na célula ativa; não é necessário definir um intervalo para os resultados.

Sintaxe

MATRIZ.DETERM(matriz)

matriz é a matriz quadrada em que estão definidos os determinantes.

Ícone de nota

Encontrará uma introdução geral à utilização das funções de matriz na parte superior desta página.


More explanations on top of this page.

MATRIZ.INVERSA

Devolve a matriz inversa.

Sintaxe

MATRIZ.INVERSA(matriz)

matriz éa matriz quadrada que se pretende inverter.

More explanations on top of this page.

Exemplo

Selecione uma matriz quadrada e selecione MATRIZ.INVERSA. Selecione o intervalo de destino, selecione o campo Matriz e clique em Aceitar.

MATRIZ.MULT

Calcula o produto matricial de duas matrizes. O número de colunas da matriz 1 deve ser equivalente ao número de linhas da matriz 2. A matriz quadrada tem um número igual de linhas e colunas.

Sintaxe

MATRIZ.MULT(matriz; matriz)

matriz, no primeiro parâmetro, representa a primeira matriz utilizada para calcular o produto matricial.

matriz, no segundo parâmetro, representa a segunda matriz com o mesmo número de linhas.

Ícone de nota

More explanations on top of this page.


Exemplo

Selecione um intervalo quadrado. Escolha a função MATRIZ.MULT. Selecione a primeira Matriz e, de seguida, a segunda Matriz. Utilizando o Assistente de funções, assinale a caixa de verificaçãoMatriz. Clique em Aceitar. A matriz de saída de dados aparecerá no primeiro intervalo selecionado.

MUNIT

Devolve a matriz quadrada unitária de uma determinada dimensão. a matriz unitária é uma matriz quadrada em que os principais elementos diagonais são iguais a 1 e todos os outros elementos são iguais a 0.

Sintaxe

MUNIT(dimensão)

dimensão é o tamanho da unidade de matriz.

Ícone de nota

Pode encontrar uma introdução geral às funções de matriz na parte superior desta página.


Exemplo

Selecione um intervalo quadrado na folha de cálculo, por exemplo, de A1 a E5.

Sem desmarcar o intervalo, selecione a função MUNIT. Assinale a caixa de verificação Matriz. Introduza as dimensões pretendidas para a unidade de matriz, neste caso 5 e clique em Aceitar.

You can also enter the =MUNIT(5) formula in the last cell of the selected range (E5), and press .

Passará a ver uma unidade de matriz constituída pelo intervalo A1:E5.

More explanations on top of this page.

PROJ.LIN

Devolve uma tabela de estatísticas para uma linha reta que seja mais adequada a um conjunto de dados.

Sintaxe

PROJ.LIN(dados_Y; dados_X; constante; estatística)

dados_Y corresponde a um único intervalo de linhas ou colunas que especifica as coordenadas y num conjunto de pontos de dados.

dados_X é um único intervalo de linhas ou colunas que especifica as coordenadas x. Se dados_X for omitido, assume 1, 2, 3, ..., n. Se existir mais do que um conjunto de variáveis, dados_X poderá ser um intervalo com várias linhas ou colunas.

A função PROJ.LIN localiza uma linha reta y = a + bx mais adequada aos dados, utilizando uma regressão linear (o método "mínimos quadrados"). Com mais do que um conjunto de variáveis, a linha reta assume a forma y = a + b1x1 + b2x2 ... + bnxn.

Se constante for FALSO, a linha reta encontrada é forçada a passar pela origem (a constante 'a' é zero; y = bx). Se omissa, a constante é VERDADEIRO por padrão (a linha pode não passar pela origem).

Se estatísticas for omitido ou FALSO, apenas é devolvida a linha superior da tabela de estatísticas. Se for VERDADEIRO, é devolvida toda a tabela.

LINEST returns a table (array) of statistics as below and must be entered as an array formula (for example by using + Shift + Return rather than just Return).

In the LibreOfficeDev Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

Exemplo

Esta função devolve uma matriz e é processada da mesma forma que as outras funções de matriz. Selecione um intervalo para as respostas e, em seguida, a função. Selecione dados_Y. Se pretender, pode introduzir outros parâmetros. Selecione Matriz e clique em Aceitar.

Os resultados devolvidos pelo sistema (se estatísticas = 0), representarão, pelo menos, o declive da linha de regressão e a respetiva interseção com o eixo Y. Se estatísticas não for igual a 0, serão mostrados outros resultados.

Outros resultados da função PROJ.LIN:

Analise os seguintes exemplos:

A

B

C

D

E

F

G

1

x1

x2

y

Valor PROJ.LIN

2

4

7

100

4,17

-3,48

82,33

3

5

9

105

5,46

10,96

9,35

4

6

11

104

0,87

5,06

#N/D

5

7

12

108

13,21

4

#N/D

6

8

15

111

675,45

102,26

#N/D

7

9

17

120

8

10

19

133


A coluna A contém diversos valores X1, a coluna B diversos valores X2 e a coluna C os valores Y. Estes valores já estão introduzidos na folha de cálculo. Configurou o intervalo E2:G6 na folha de cálculo e ativou o Assistente de funções. Para que a função PROJ.LIN funcione, terá de assinalar a caixa de verificação Matriz no Assistente de funções. De seguida, selecione os seguintes valores na folha de cálculo (ou introduza-os utilizando o teclado):

dados_Y corresponde a C2:C8

dados_X corresponde a A2:B8

constante e estatísticas são ambas 1.

Assim que clicar em Aceitar, o LibreOfficeDev Calc preenche o exemplo acima com os valores PROJ.LIN como no exemplo.

The formula in the Formula bar corresponds to each cell of the LINEST array {=LINEST(C2:C8;A2:B8;1;1)}.

Os valores de PROJ.LIN calculados são representados assim:

E2 e F2: Declive m da linha de regressão y=b+m*x para os valores x1 e x2. Os valores são dados por ordem inversa, ou seja, o declive de x2 em E2 e o declive de X1 em F2.

G2: Interseção de b com o eixo do y.

E3 e F3: o erro padrão do valor de declive.

G3: o erro padrão da interseção

E4: RQUAD

F4: o erro padrão da regressão calculado para o valor Y.

E5: O valor F da análise de variância.

F5: os graus de liberdade da análise de variância.

E6: A soma do desvio quadrado dos valores Y estimados em relação à sua média linear.

F6: A soma do desvio quadrado do valor Y estimado a partir dos valores Y especificados.

More explanations on top of this page.

PROJ.LOG

Esta função calcula o ajustamento dos dados introduzidos como curva de regressão exponencial (y=b*m^x).

Sintaxe

PROJ.LOG(dados_y; dados_y; constante; estatística)

dados_y representa a matriz de dados Y.

dados_x (opcional) representa a matriz de dados X.

constante(opcional). Se constante = 0, as funções serão calculadas na forma y = m^x. De outra forma, serão calculadas funções y = b*m^x.

Estatísticas (opcional). Se Estatísticas=0, apenas o quociente de regressão será calculado.

In the LibreOfficeDev Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

Exemplo

Consulte PROJ.LIN. No entanto, a soma dos quadrados não será obtida.

SOMARPRODUTO

Multiplica os elementos correspondentes nas matrizes especificadas e devolve a soma desses produtos.

Sintaxe

SUMPRODUCT(Array1; Array2; ...; Array30)

Array1, Array2; ...; Array30 represent arrays whose corresponding elements are to be multiplied.

Pelo menos uma matriz tem de fazer parte da lista de argumentos. Se for fornecida apenas uma matriz, todos os elementos da matriz são somados.

Exemplo

A

B

C

D

1

2

3

4

5

2

6

7

8

9

3

10

11

12

13


=SOMARPRODUTO(A1:B3;C1:D3) devolve 397.

Cálculo: A1*C1 + B1*D1 + A2*C2 + B2*D2 + A3*C3 + B3*D3

Pode utilizar o SOMARPRODUTO para calcular o produto escalar de dois vetores.

Ícone de nota

SOMARPRODUTO devolve um único número e não é necessário introduzir a função como função de matriz.


More explanations on top of this page.

SOMAX2DY2

Devolve a soma da diferença dos quadrados dos valores correspondentes em duas matrizes.

Sintaxe

SOMAX2DY2(matriz_x; matriz_y)

matriz_x representa a primeira matriz ou intervalo de valores.

matriz_y representa a segunda matriz ou intervalo de valores.

More explanations on top of this page.

SOMAX2SY2

Devolve a soma dos quadrados dos valores em duas matrizes.

Sintaxe

SOMAX2SY2(matriz_x; matriz_y)

matriz_x representa a primeira matriz ou intervalo de valores.

matriz_y representa a segunda matriz ou intervalo de valores.

More explanations on top of this page.

SOMAXMY2

Soma os quadrados da variância entre os valores correspondentes em duas matrizes.

Sintaxe

SOMAXMY2(matriz_x; matriz_y)

matriz_x representa a primeira matriz ou intervalo de valores.

matriz_y representa a segunda matriz ou intervalo de valores.

More explanations on top of this page.

TENDÊNCIA

Devolve valores correspondentes a uma tendência linear.

Sintaxe

TENDÊNCIA(dados_y; dados_x; novos_dados_x; constante)

dados_y representa a matriz de dados Y.

dados_x (opcional) representa a matriz de dados X.

novos_dados_x representa os novos valores de x, para os quais pretende devolver os valores de y correspondentes.

LinearType (optional). If LinearType = 0, then lines will be calculated through the zero point. Otherwise, offset lines will also be calculated. The default is LinearType <> 0.

In the LibreOfficeDev Calc functions, parameters marked as "optional" can be left out only when no parameter follows. For example, in a function with four parameters, where the last two parameters are marked as "optional", you can leave out parameter 4 or parameters 3 and 4, but you cannot leave out parameter 3 alone.

More explanations on top of this page.

Exemplo

Select a spreadsheet range in which the trend data will appear. Select the function. Enter the output data or select it with the mouse. Mark the Array field, click OK. The trend data calculated from the output data is displayed.

TRANSPOR

Transpõe as linhas e colunas duma matriz.

Sintaxe

TRANSPOR(matriz)

matriz é a matriz da folha de cálculo que se pretende transpor.

Ícone de nota

Encontrará uma introdução geral à utilização das funções de matriz na parte superior desta página.


Exemplo

In the spreadsheet, select the range in which the transposed array can appear. If the original array has n rows and m columns, your selected range must have at least m rows and n columns. Then enter the formula directly, select the original array and press . Or, if you are using the Function Wizard, mark the Array check box. The transposed array appears in the selected target range and is protected automatically against changes.

A

B

C

D

1

2

3

4

5

2

6

7

8

9


A tabela acima tem 2 linhas e 4 colunas. Para a transpor, deve selecionar 4 linhas e 2 colunas. Assumindo que deseja transpor a tabela acima para o intervalo A7: B10 (4 linhas e 2 colunas), deve selecionar todo o intervalo e digitar o seguinte:

TRANSPOR(A1:D2)

Then make sure to enter it as matrix formula with . The result will be as follows:

A

B

7

2

6

8

3

7

9

4

8

10

5

9