Exercícios de Matrizes - R

  1. Criação Manual de Matrizes

    1. Crie manualmente duas matrizes 2x2:
    • A = [1 2; 3 4]
    • B = [5 6; 7 8]
    1. Calcule manualmente e depois verifique no R:
    • A + B
    • A - B
    # Exemplo de solução:
    A <- matrix(1:4, nrow = 2, byrow = TRUE)
    B <- matrix(5:8, nrow = 2, byrow = TRUE)
  2. Multiplicação Matricial

    1. Multiplique A pelo escalar 3 (calcule manualmente primeiro)
    2. Realize a multiplicação matricial A %*% B manualmente (mostre todos os cálculos) e confira no R
  3. Propriedades de Matrizes

    1. Escreva a transposta de A manualmente
    2. Calcule o determinante de B usando a fórmula para matrizes 2x2:
      \(\text{det}(B)\)
  4. Sistemas Lineares
    Resolva manualmente o sistema usando matrizes:
    \[ \begin{cases} 2x + y = 5 \\ x - 3y = 6 \end{cases} \] Passos:

    1. Crie a matriz de coeficientes
    2. Calcule sua inversa
    3. Multiplique pelo vetor de constantes
      Verifique no R usando solve()
  5. Matrizes Especiais

    1. Construa manualmente uma matriz identidade 3x3
    2. Crie uma matriz diagonal com valores [2, 4, 6]
    3. Combine ambas usando diag() e rbind()/cbind()
  6. Autovalores e Normas

    1. Para a matriz A, resolva a equação característica \(\text{det}(A - \lambda I) = 0\) para encontrar autovalores
    2. Calcule a norma Euclidiana de B usando a fórmula:
      \(||B|| = \sqrt{\sum_{i,j} b_{ij}^2}\)
  7. Conversão de Estruturas
    Converta o seguinte data frame em matriz numérica, explicando o que acontece com os tipos de dados:

    df <- data.frame(a = 1:3, b = c(4, "5", 6.0))
  8. Manipulação de Dados Reais
    Com o dataset mtcars:

    1. Converta as primeiras 5 colunas em matriz
    2. Calcule médias por coluna usando apenas operações matriciais (sem mean())

Exercícios de Matrizes - Python

  1. Criação de Matrizes

    1. Crie uma matriz 3x3 com valores de 9 a 17 usando np.arange() e .reshape()
    2. Crie uma matriz booleana onde elementos > 10 sejam True
  2. Operações Matemáticas
    Para as matrizes:

    A = np.array([[1,0], [2,3]])
    B = np.array([[4,1], [0,5]])

    Calcule manualmente e depois verifique:

    1. Produto Hadamard (element-wise)
    2. Multiplicação matricial
  3. Sistemas Lineares
    Resolva manualmente e usando NumPy:
    \[ \begin{cases} 3x + 2y = 1 \\ x - y = 2 \end{cases} \] Dica: Use np.linalg.solve()

  4. Decomposição Matricial
    Para a matriz:

    C = np.array([[2, 1], [1, 2]])
    1. Execute decomposição LU manualmente (mostre todas as etapas)
    2. Compare com o resultado de scipy.linalg.lu()
  5. Manipulação de Dados
    Converta a seguinte lista de dicionários em matriz NumPy:

    data = [{'age': 25, 'height': 170}, {'age': 30, 'height': 165}]
  6. Desafio Conceitual

    1. Por que matrizes singulares não podem ser invertidas? Dê um exemplo
    2. Explique a diferença entre np.array([[1,2],[3,4]]) e np.matrix([[1,2],[3,4]])
  7. Otimização
    Implemente a multiplicação de matrizes usando apenas loops for e compare o desempenho com np.dot()