• Nenhum resultado encontrado

Fun¸ c˜ oes gerais para constru¸ c˜ ao de matrizes

Figura 9.2: Janela de cria¸c˜ao de um objeto matricial

9.2

Fun¸c˜oes gerais para constru¸c˜ao de matrizes

S˜ao descritas a seguir as fun¸c˜oes disponibilizadas pelo EViews que auxiliam na constru¸c˜ao de matrizes. Sempre que necess´ario ser´a feito uso de exemplos para ilustrar a explica¸c˜ao.

1. Comando: colplace(M,V,n)

Insere o vetor coluna V na n-´esima coluna da matriz M. O n´umero de linhas de M e V deve ser o mesmo e a coluna destino j´a deve existir em M.

Exemplo 9.6 O comando colplace(M,V,2)

insere os valores do vetor coluna V (com trˆes linhas, por exemplo) na segunda coluna da matriz M (3 x 3, por exemplo). Caso queira incluir os valores do vetor V na quarta coluna, aparecer´a uma mensagem de erro indicando a impossibilidade de executar a fun¸c˜ao. Isto ocorrer´a porque no exemplo em quest˜ao, a matriz M ´e 3x3 e n˜ao aceitar´a instru¸c˜oes que se refiram `a sua quarta coluna, pois ela n˜ao existe. A solu¸c˜ao para este problema ´e muito simples. Basta entrar com o comando matrix(3,4) M na janela de comandos, que o EViews ir´a automaticamente redimensionar a matriz M para (3x4).

2. Comando: @columnextract(M,n)

Extrai a n-´esima coluna da matriz M, podendo M ser um objeto do tipo matrix ou sym (matriz sim´etrica).

3. Comando: @columns(O)

Informa o n´umero de colunas da matriz O.

60 CAP´ITULO 9. TRABALHANDO COM MATRIZES E VETORES NO EVIEWS Esta fun¸c˜ao ´e utilizada para converter objetos de um tipo em outro tipo compat´ıvel em rela¸c˜ao `a dimens˜ao.

Exemplo 9.1 Sendo X1 uma s´erie, o comando vector S=@convert(X1)

ir´a converter a s´erie X1 em um vetor coluna denominado S. ´E importante notar que a s´erie X1 continuar´a existindo.

Exemplo 9.1 O comando matrix x=@convert(group01)

ir´a converter group01 em um objeto do tipo matriz denominado X, considerando group01 como sendo um objeto do tipo grupo contendo as s´eries X1, X2 e X3. As s´eries do grupo group01 ser˜ao inclu´ıdas na matriz X na mesma ordem que est˜ao dispostas no grupo. Se alguma das s´eries do grupo contiver valores NA (n˜ao num´ericos), a observa¸c˜ao ser´a omitida para todas as s´eries.

5. Comando: @filledmatrix(n1, n2, n3)

Retorna uma matriz com n1 (inteiro) linhas e n2 (inteiro) colunas, com cada entrada da matriz preenchida pelo n´umero n3.

6. Comando: @filledrowvector(n1, n2)

Retorna um vetor linha com n1 (inteiro) colunas, onde cada elemento cont´em o n´umero n2.

7. Comando: @filledsym(n1, n2)

Gera uma matriz sim´etrica de ordem n1, onde cada entrada da matriz cont´em o n´umero n2.

Exemplo 9.1 O comando matrix W = @filledsym(4,1)

gera uma matriz quadrada de ordem 4, denominada W, onde cada entrada cont´em o valor 1. Note que o tipo de objeto ´e definido pelo usu´ario, assim:

Exemplo 9.1 O comando matrix X = @filledsym(3,2)

gera uma matriz quadrada de ordem 3, denominada X, contendo 2 em cada uma de suas entradas. Exemplo 9.1 O comando sym Y = @filledsym(3,2)

9.2. FUN ¸C ˜OES GERAIS PARA CONSTRU ¸C ˜AO DE MATRIZES 61 gera uma matriz sim´etrica (sym) quadrada de ordem 3, denominada Y, contendo 2 em cada uma de suas entradas.

Obs: Note a diferen¸ca entre matriz (matrix) e matriz sim´etrica (sym). Os simbolos de cada objeto podem ser conferidos na figura 1.2. Al´em disso, o objeto do tipo matrix aceita qualquer valor em suas entradas, enquanto que o objeto do tipo sym aceita apenas valores em pares, respeitando a seguinte condi¸c˜ao: aij = aji. Caso essa condi¸c˜ao n˜ao seja respeitada, o

EViews ir´a ajustar arbitrariamente o objeto do tipo sym de modo a tornar a matriz sim´etrica.

8. Comando: @filledvector(n1,n2)

Retorna um vetor coluna com n1 linhas, todas contendo o n´umero n2.

9. Comando: @getmaindiagonal(M)

Retorna um vetor criado a partir da diagonal principal do objeto do tipo matrix (ou sym) denominada M.

10. Comando: @identity(n)

Gera uma matriz identidade de ordem n.

11. Comando: @makediagonal(V,k)

Gera uma matriz quadrada com o vetor especificado, V, na k-´esima diagonal relativamente `

a diagonal principal e zero nas outras entradas da matriz. Se n˜ao for especificado um valor para k ou se k=0, a matriz resultante ser´a quadrada de ordem igual ao n´umero de elementos do vetor V. No caso de k diferente de zero, a matriz ser´a quadrada de ordem igual ao n´umero de elementos do vetor V mais o valor absoluto de k, e ir´a incluir os valores de V na diagonal distante da principal por k.

Exemplo 9.1 matrix M1=@makediagonal(V1)

Exemplo 9.1 matrix M2=@makediagonal(V1,1)

Exemplo 9.1 matrix M3=@makediagonal(R1,-3)

M1 ir´a conter V1 na diagonal principal; M2 ir´a conter V1 na diagonal imediatamente acima da diagonal principal; M3 ir´a conter R1 trˆes posi¸c˜oes abaixo da diagonal principal. ´E

62 CAP´ITULO 9. TRABALHANDO COM MATRIZES E VETORES NO EVIEWS importante notar que o sinal de k est´a relacionado com a posi¸c˜ao de V acima (sinal positivo) ou abaixo (sinal negativo) da diagonal principal.

12. Comando: matplace(M1,M2,n1,n2)

Insere a matriz M2 na matriz M1 na linha n1 e coluna n2. As dimens˜oes das duas matrizes n˜ao importam, desde que M1 seja suficientemente grande para conter M2 completa com a c´elula superior esquerda de M2 localizada na linha n1 e na coluna n2 de M1.

Exemplo 9.1

matrix(100,5) M1=1 matrix(100,2) M2 matplace(M1,M2,1,1)

O primeiro comando gera uma matriz 100 × 5 denominada M1, contendo 1 em todas as suas entradas. O segundo comando gera uma matriz 100 × 2 denominada M2. Como n˜ao foram especificados os valores de cada entrada, todas conter˜ao o valor zero.

IMPORTANTE!!! Para alterar os n´umeros de um objeto do tipo matrix ou sym, basta selecionar Edit +/− na barra de ferramentas do objeto. Este procedimento ´e semelhante ao

usado em s´eries.

13. Comando: mtos(V1,ser1,sample) ou mtos(M1,G1,sample)

onde: V1 ´e um vetor, ser1 ´e uma s´erie, sample representa o Sample do vetor (ou da matriz), M1 ´e uma matriz e G1 ´e um grupo.

Converte um vetor (ou uma matriz) em uma s´erie (ou em um grupo). Preenche a s´erie ou o grupo com os dados do vetor ou da matriz. O n´umero de observa¸c˜oes inclu´ıdas no Sample deve ser igual ao n´umero de linhas da matriz (ou do vetor) a ser convertida. Se n˜ao for especificado o Sample, a matriz ser´a convertida com base no Sample atual. Acredita-se que os exemplos a seguir colaboram para um melhor entendimento do comando:

Exemplo 9.1 O comando mtos(A,group01)

converte a primeira coluna da matriz A na primeira s´erie do group01, a segunda coluna de A na segunda s´erie do group01 e assim por diante. Para isso, o Sample atual do workfile deve ser igual ao n´umero de linhas da matriz A. O n´umero de s´eries do group01 que ser´a criado ser´a igual ao n´umero de colunas da matriz A. As s´eries criadas recebem os nomes de SER1, SER2 e assim por diante.

Exemplo 9.1 sample S 1980 2002

9.2. FUN ¸C ˜OES GERAIS PARA CONSTRU ¸C ˜AO DE MATRIZES 63 A primeira linha cria um objeto do tipo Sample, abrangendo o per´ıodo 1980-2002, que ir´a compor o argumento da fun¸c˜ao mtos. A segunda linha trata da cria¸c˜ao de um grupo denominado gr1 a partir da matriz A. O grupo gr1 ter´a 23 linhas e o numero de s´eries a serem criadas ´e igual ao n´umero de colunas de A.

Para trabalhar com o caso de vetores, basta substituir A por um vetor, que teremos como resposta ao comando a gera¸c˜ao de uma s´erie e n˜ao mais um grupo.

14. Comando: @rowextract(M, n)

Extrai um vetor linha da n-´esima linha da matriz M.

15. Comando: rowplace(M,R,n)

Insere o vetor linha R na n-´esima linha da matriz M. O n´umero de colunas de R e M deve ser o mesmo e a n-´esima linha j´a deve existir em M.

16. Comando: @rows(O)

Informa o n´umero de linhas da matriz O.

17. Comando: stom(series,vector,sample) ou stom(group,matrix,sample)

Converte uma s´erie ou um grupo em um vetor ou em uma matriz. Preenche o vetor ou a matriz com os dados da s´erie ou do grupo. Caso o Sample n˜ao seja indicado, o EViews utiliza o Sample atual como padr˜ao. ´E importante saber que se alguma s´erie contiver observa¸c˜oes NA (falta de observa¸c˜oes), estas observa¸c˜oes ser˜ao exclu´ıdas do vetor ou da matriz. Se o vetor ou a matriz j´a existir no workfile, o EViews redimensionar´a automaticamente o vetor ou a matriz de modo a ajustar a s´erie ou o grupo.

Exemplo 9.1 O comando series LNX=log(X)

stom(LNX,VET1)

converte a s´erie LNX no vetor denominado VET1 usando o Sample atual do workfile. Poss´ıveis observa¸c˜oes contendo NA em LNX ser˜ao exclu´ıdas de VET1.

Exemplo 9.1 O comando

group group01 X1 X2 X3 sample s 1961 2000 stom(group01,X,S)

64 CAP´ITULO 9. TRABALHANDO COM MATRIZES E VETORES NO EVIEWS converte o grupo group01 contendo as s´eries X1, X2 e X3 em uma matriz denominada X utilizando o Sample S. Devido `a constru¸c˜ao do Sample, a matriz X ter´a 40 linhas e 3 colunas, uma para cada s´erie (X1, X2 e X3), desde que n˜ao haja nenhuma observa¸c˜ao ausente (NA).

18. Comando: stomna(series,vector,sample) ou stomna(group,matrix,sample)

Funciona exatamente como a fun¸c˜ao stom, entretanto n˜ao exclui observa¸c˜oes contendo NA.

19. Comando: @subextract(O,n1,n2,n3,n4)

Retorna uma submatriz de uma matriz especificada, O. n1 (inteiro) ´e a linha e n2 (inteiro) ´

e a coluna do primeiro elemento (elemento do canto superior esquerdo) a ser extra´ıdo. Os argumentos opcionais n3 (inteiro) e n4 (inteiro) indicam a linha e a coluna do elemento do canto inferior direito (´ultimo elemento) da matriz. A menos que n3 e n4 sejam informados, esta fun¸c˜ao ir´a retornar uma matriz contendo todos os elementos abaixo e `a direita do primeiro elemento (n2). Espera-se que os exemplos esclare¸cam mais o entendimento da fun¸c˜ao.

Considere a matriz M1 (8 × 5) representada na figura 9.3.

Figura 9.3: Ilustra¸c˜ao da fun¸c˜ao @subtract

Exemplo 9.1 matrix M2 = @subextract(M1,2,2,7,4) matrix M2 = @subextract(M1,3,1)

O primeiro comando extrai a parte demarcada pela borda larga cont´ınua, come¸cando na linha 2 e coluna 2 e terminando na linha 7 e coluna 4. O segundo comando extrai a parte demarcada pela borda pontilhada, come¸cando na linha 3 e coluna 1 e terminando no final da matriz M1, pois n˜ao foram especificados os termos n3 e n4.