Package methods

Class Matrix

java.lang.Object
methods.Matrix

public class Matrix extends Object
Classe utilitária para operações com matrizes.

Esta classe fornece métodos para manipulação de matrizes bidimensionais, incluindo operações de impressão, operações aritméticas, verificação de propriedades e geração de matrizes aleatórias.

As operações são suportadas para vários tipos de dados, incluindo int, double, char, String e boolean.

  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static double[][]
    abs(double[][] m)
    Calcula o valor absoluto de cada elemento em uma matriz de números de ponto flutuante.
    static int[][]
    abs(int[][] m)
    Calcula o valor absoluto de cada elemento em uma matriz de inteiros.
    static double[]
    axisMean(double[][] m, int axis)
    Calcula a média dos elementos ao longo de um eixo específico em uma matriz de números de ponto flutuante.
    static int[]
    axisMean(int[][] m, int axis)
    Calcula a média dos elementos ao longo de um eixo específico em uma matriz de inteiros.
    static double[]
    axisSum(double[][] m, int axis)
    Calcula a soma dos elementos ao longo de um eixo específico em uma matriz de números de ponto flutuante.
    static int[]
    axisSum(int[][] m, int axis)
    Calcula a soma dos elementos ao longo de um eixo específico em uma matriz de inteiros.
    static int[][]
    ceil(double[][] m)
    Arredonda para cima os valores de uma matriz de números de ponto flutuante para inteiros.
    static boolean
    isDiagonal(double[][] m)
    Verifica se uma matriz de números de ponto flutuante é diagonal.
    static boolean
    isDiagonal(int[][] m)
    Verifica se uma matriz de inteiros é diagonal.
    static boolean
    isIdentity(double[][] m)
    Verifica se uma matriz de números de ponto flutuante é uma matriz identidade.
    static boolean
    isIdentity(int[][] m)
    Verifica se uma matriz de inteiros é uma matriz identidade.
    static boolean
    isNull(double[][] m)
    Verifica se uma matriz de números de ponto flutuante é uma matriz nula.
    static boolean
    isNull(int[][] m)
    Verifica se uma matriz de inteiros é uma matriz nula.
    static boolean
    isSquare(char[][] m)
    Verifica se uma matriz de caracteres é quadrada.
    static boolean
    isSquare(double[][] m)
    Verifica se uma matriz de números de ponto flutuante é quadrada.
    static boolean
    isSquare(int[][] m)
    Verifica se uma matriz de inteiros é quadrada.
    static boolean
    Verifica se uma matriz de strings é quadrada.
    static boolean
    isSymmetrical(double[][] m)
    Verifica se uma matriz de números de ponto flutuante é simétrica.
    static boolean
    isSymmetrical(int[][] m)
    Verifica se uma matriz de inteiros é simétrica.
    static double[][]
    prod(double[][] m, double d)
    Multiplica cada elemento de uma matriz de números de ponto flutuante por um escalar.
    static double[][]
    prod(double[][] m, double[][] n)
    Realiza a multiplicação de matrizes de números de ponto flutuante.
    static int[][]
    prod(int[][] m, double d)
    Multiplica cada elemento de uma matriz de inteiros por um escalar.
    static int[][]
    prod(int[][] m, int[][] n)
    Realiza a multiplicação de matrizes de inteiros.
    static int[][]
    Gera uma matriz 3x3 de números inteiros aleatórios entre 0 e 100.
    static int[][]
    randInt(int bound)
    Gera uma matriz 3x3 de números inteiros aleatórios entre 0 e o limite especificado.
    static int[][]
    randInt(int[] size)
    Gera uma matriz de números inteiros aleatórios entre 0 e 100 com dimensões especificadas.
    static int[][]
    randInt(int[] size, int bound)
    Gera uma matriz de números inteiros aleatórios entre 0 e o limite especificado, com dimensões personalizadas.
    static int[][]
    randInt(int[] size, int origin, int bound)
    Gera uma matriz de números inteiros aleatórios entre os limites especificados, com dimensões personalizadas.
    static int[][]
    randInt(int origin, int bound)
    Gera uma matriz 3x3 de números inteiros aleatórios entre os limites especificados.
    static double[][]
    Gera uma matriz 3x3 de números de ponto flutuante aleatórios entre 0 e 100.
    static double[][]
    random(double bound)
    Gera uma matriz 3x3 de números de ponto flutuante aleatórios entre 0 e o limite especificado.
    static double[][]
    random(double origin, double bound)
    Gera uma matriz 3x3 de números de ponto flutuante aleatórios entre os limites especificados.
    static double[][]
    random(int[] size)
    Gera uma matriz de números de ponto flutuante aleatórios entre 0 e 100 com dimensões especificadas.
    static double[][]
    random(int[] size, double bound)
    Gera uma matriz de números de ponto flutuante aleatórios entre 0 e o limite especificado, com dimensões personalizadas.
    static double[][]
    random(int[] size, double origin, double bound)
    Gera uma matriz de números de ponto flutuante aleatórios entre os limites especificados, com dimensões personalizadas.
    static int[][]
    round(double[][] m)
    Arredonda os valores de uma matriz de números de ponto flutuante para inteiros.
    static double[][]
    round(double[][] m, int dp)
    Arredonda os valores de uma matriz de números de ponto flutuante para um número específico de casas decimais.
    static int[]
    size(boolean[][] m)
    Retorna as dimensões de uma matriz de booleanos.
    static int[]
    size(char[][] m)
    Retorna as dimensões de uma matriz de caracteres.
    static int[]
    size(double[][] m)
    Retorna as dimensões de uma matriz de números de ponto flutuante.
    static int[]
    size(int[][] m)
    Retorna as dimensões de uma matriz de inteiros.
    static int[]
    size(String[][] m)
    Retorna as dimensões de uma matriz de strings.
    static double[][]
    sum(double[][] m1, double[][] m2)
    Soma duas matrizes de números de ponto flutuante elemento por elemento.
    static int[][]
    sum(int[][] m1, int[][] m2)
    Soma duas matrizes de inteiros elemento por elemento.
    static double[][]
    sumAll(double[][][] m)
    Soma todas as matrizes de números de ponto flutuante em um array tridimensional.
    static int[][]
    sumAll(int[][][] m)
    Soma todas as matrizes de inteiros em um array tridimensional.
    static String
    toString(boolean[][] m)
    Converte uma matriz de booleanos em uma representação de string.
    static String
    toString(char[][] m)
    Converte uma matriz de caracteres em uma representação de string.
    static String
    toString(double[][] m)
    Converte uma matriz de números de ponto flutuante em uma representação de string.
    static String
    toString(int[][] m)
    Converte uma matriz de inteiros em uma representação de string.
    static String
    Converte uma matriz de strings em uma representação de string.
    static char[][]
    transpose(char[][] m)
    Calcula a transposta de uma matriz de caracteres.
    static double[][]
    transpose(double[][] m)
    Calcula a transposta de uma matriz de números de ponto flutuante.
    static int[][]
    transpose(int[][] m)
    Calcula a transposta de uma matriz de inteiros.
    static String[][]
    Calcula a transposta de uma matriz de strings.
    static int[][]
    trunc(double[][] m)
    Trunca os valores de uma matriz de números de ponto flutuante para inteiros.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Matrix

      public Matrix()
  • Method Details

    • toString

      public static String toString(int[][] m)
      Converte uma matriz de inteiros em uma representação de string.
      Parameters:
      m - A matriz de inteiros a ser convertida
      Returns:
      Uma string representando a matriz, com cada linha em uma nova linha
    • toString

      public static String toString(double[][] m)
      Converte uma matriz de números de ponto flutuante em uma representação de string.
      Parameters:
      m - A matriz de doubles a ser convertida
      Returns:
      Uma string representando a matriz, com cada linha em uma nova linha
    • toString

      public static String toString(char[][] m)
      Converte uma matriz de caracteres em uma representação de string.
      Parameters:
      m - A matriz de caracteres a ser convertida
      Returns:
      Uma string representando a matriz, com cada linha em uma nova linha
    • toString

      public static String toString(String[][] m)
      Converte uma matriz de strings em uma representação de string.
      Parameters:
      m - A matriz de strings a ser convertida
      Returns:
      Uma string representando a matriz, com cada linha em uma nova linha
    • toString

      public static String toString(boolean[][] m)
      Converte uma matriz de booleanos em uma representação de string.
      Parameters:
      m - A matriz de booleanos a ser convertida
      Returns:
      Uma string representando a matriz, com cada linha em uma nova linha
    • axisMean

      public static int[] axisMean(int[][] m, int axis)
      Calcula a média dos elementos ao longo de um eixo específico em uma matriz de inteiros.
      Parameters:
      m - A matriz de inteiros
      axis - O eixo ao longo do qual calcular a média (0 para linhas, 1 para colunas)
      Returns:
      Um array contendo as médias calculadas
      Throws:
      IllegalArgumentException - Se o eixo especificado não for 0 ou 1
    • axisMean

      public static double[] axisMean(double[][] m, int axis)
      Calcula a média dos elementos ao longo de um eixo específico em uma matriz de números de ponto flutuante.
      Parameters:
      m - A matriz de doubles
      axis - O eixo ao longo do qual calcular a média (0 para linhas, 1 para colunas)
      Returns:
      Um array contendo as médias calculadas
      Throws:
      IllegalArgumentException - Se o eixo especificado não for 0 ou 1
    • axisSum

      public static int[] axisSum(int[][] m, int axis)
      Calcula a soma dos elementos ao longo de um eixo específico em uma matriz de inteiros.
      Parameters:
      m - A matriz de inteiros
      axis - O eixo ao longo do qual calcular a soma (0 para linhas, 1 para colunas)
      Returns:
      Um array contendo as somas calculadas
      Throws:
      IllegalArgumentException - Se o eixo especificado não for 0 ou 1
    • axisSum

      public static double[] axisSum(double[][] m, int axis)
      Calcula a soma dos elementos ao longo de um eixo específico em uma matriz de números de ponto flutuante.
      Parameters:
      m - A matriz de doubles
      axis - O eixo ao longo do qual calcular a soma (0 para linhas, 1 para colunas)
      Returns:
      Um array contendo as somas calculadas
      Throws:
      IllegalArgumentException - Se o eixo especificado não for 0 ou 1
    • sum

      public static int[][] sum(int[][] m1, int[][] m2)
      Soma duas matrizes de inteiros elemento por elemento.
      Parameters:
      m1 - A primeira matriz de inteiros
      m2 - A segunda matriz de inteiros
      Returns:
      Uma nova matriz contendo a soma das duas matrizes de entrada
    • sum

      public static double[][] sum(double[][] m1, double[][] m2)
      Soma duas matrizes de números de ponto flutuante elemento por elemento.
      Parameters:
      m1 - A primeira matriz de doubles
      m2 - A segunda matriz de doubles
      Returns:
      Uma nova matriz contendo a soma das duas matrizes de entrada
    • sumAll

      public static int[][] sumAll(int[][][] m)
      Soma todas as matrizes de inteiros em um array tridimensional.
      Parameters:
      m - Um array tridimensional de matrizes de inteiros
      Returns:
      Uma matriz bidimensional contendo a soma de todas as matrizes
    • sumAll

      public static double[][] sumAll(double[][][] m)
      Soma todas as matrizes de números de ponto flutuante em um array tridimensional.
      Parameters:
      m - Um array tridimensional de matrizes de doubles
      Returns:
      Uma matriz bidimensional contendo a soma de todas as matrizes
    • trunc

      public static int[][] trunc(double[][] m)
      Trunca os valores de uma matriz de números de ponto flutuante para inteiros.
      Parameters:
      m - A matriz de doubles a ser truncada
      Returns:
      Uma matriz de inteiros com os valores truncados
    • round

      public static int[][] round(double[][] m)
      Arredonda os valores de uma matriz de números de ponto flutuante para inteiros.
      Parameters:
      m - A matriz de doubles a ser arredondada
      Returns:
      Uma matriz de inteiros com os valores arredondados
    • round

      public static double[][] round(double[][] m, int dp)
      Arredonda os valores de uma matriz de números de ponto flutuante para um número específico de casas decimais.
      Parameters:
      m - A matriz de doubles a ser arredondada
      dp - O número de casas decimais para arredondar
      Returns:
      Uma matriz de doubles com os valores arredondados para o número especificado de casas decimais
    • ceil

      public static int[][] ceil(double[][] m)
      Arredonda para cima os valores de uma matriz de números de ponto flutuante para inteiros.
      Parameters:
      m - A matriz de doubles a ser arredondada para cima
      Returns:
      Uma matriz de inteiros com os valores arredondados para cima
    • abs

      public static int[][] abs(int[][] m)
      Calcula o valor absoluto de cada elemento em uma matriz de inteiros.
      Parameters:
      m - A matriz de inteiros
      Returns:
      Uma nova matriz contendo o valor absoluto de cada elemento da matriz original
    • abs

      public static double[][] abs(double[][] m)
      Calcula o valor absoluto de cada elemento em uma matriz de números de ponto flutuante.
      Parameters:
      m - A matriz de doubles
      Returns:
      Uma nova matriz contendo o valor absoluto de cada elemento da matriz original
    • transpose

      public static int[][] transpose(int[][] m)
      Calcula a transposta de uma matriz de inteiros.
      Parameters:
      m - A matriz de inteiros a ser transposta
      Returns:
      A matriz transposta
    • transpose

      public static double[][] transpose(double[][] m)
      Calcula a transposta de uma matriz de números de ponto flutuante.
      Parameters:
      m - A matriz de doubles a ser transposta
      Returns:
      A matriz transposta
    • transpose

      public static String[][] transpose(String[][] m)
      Calcula a transposta de uma matriz de strings.
      Parameters:
      m - A matriz de strings a ser transposta
      Returns:
      A matriz transposta
    • transpose

      public static char[][] transpose(char[][] m)
      Calcula a transposta de uma matriz de caracteres.
      Parameters:
      m - A matriz de caracteres a ser transposta
      Returns:
      A matriz transposta
    • prod

      public static int[][] prod(int[][] m, double d)
      Multiplica cada elemento de uma matriz de inteiros por um escalar.
      Parameters:
      m - A matriz de inteiros
      d - O valor escalar pelo qual multiplicar
      Returns:
      Uma nova matriz com cada elemento multiplicado pelo escalar
    • prod

      public static double[][] prod(double[][] m, double d)
      Multiplica cada elemento de uma matriz de números de ponto flutuante por um escalar.
      Parameters:
      m - A matriz de doubles
      d - O valor escalar pelo qual multiplicar
      Returns:
      Uma nova matriz com cada elemento multiplicado pelo escalar
    • prod

      public static int[][] prod(int[][] m, int[][] n)
      Realiza a multiplicação de matrizes de inteiros.
      Parameters:
      m - A primeira matriz de inteiros
      n - A segunda matriz de inteiros
      Returns:
      O produto das duas matrizes
    • prod

      public static double[][] prod(double[][] m, double[][] n)
      Realiza a multiplicação de matrizes de números de ponto flutuante.
      Parameters:
      m - A primeira matriz de doubles
      n - A segunda matriz de doubles
      Returns:
      O produto das duas matrizes
    • isSymmetrical

      public static boolean isSymmetrical(int[][] m)
      Verifica se uma matriz de inteiros é simétrica. Uma matriz é simétrica se for igual à sua transposta (M = M^T).
      Parameters:
      m - A matriz de inteiros a ser verificada
      Returns:
      true se a matriz for simétrica, false caso contrário
    • isSymmetrical

      public static boolean isSymmetrical(double[][] m)
      Verifica se uma matriz de números de ponto flutuante é simétrica. Uma matriz é simétrica se for igual à sua transposta (M = M^T).
      Parameters:
      m - A matriz de doubles a ser verificada
      Returns:
      true se a matriz for simétrica, false caso contrário
    • isDiagonal

      public static boolean isDiagonal(int[][] m)
      Verifica se uma matriz de inteiros é diagonal. Uma matriz é diagonal se todos os elementos fora da diagonal principal são zero.
      Parameters:
      m - A matriz de inteiros a ser verificada
      Returns:
      true se a matriz for diagonal, false caso contrário
    • isDiagonal

      public static boolean isDiagonal(double[][] m)
      Verifica se uma matriz de números de ponto flutuante é diagonal. Uma matriz é diagonal se todos os elementos fora da diagonal principal são zero.
      Parameters:
      m - A matriz de doubles a ser verificada
      Returns:
      true se a matriz for diagonal, false caso contrário
    • isIdentity

      public static boolean isIdentity(int[][] m)
      Verifica se uma matriz de inteiros é uma matriz identidade. Uma matriz identidade tem 1's na diagonal principal e 0's em todas as outras posições.
      Parameters:
      m - A matriz de inteiros a ser verificada
      Returns:
      true se a matriz for uma matriz identidade, false caso contrário
    • isIdentity

      public static boolean isIdentity(double[][] m)
      Verifica se uma matriz de números de ponto flutuante é uma matriz identidade. Uma matriz identidade tem 1's na diagonal principal e 0's em todas as outras posições.
      Parameters:
      m - A matriz de doubles a ser verificada
      Returns:
      true se a matriz for uma matriz identidade, false caso contrário
    • isNull

      public static boolean isNull(int[][] m)
      Verifica se uma matriz de inteiros é uma matriz nula. Uma matriz nula tem todos os elementos iguais a zero.
      Parameters:
      m - A matriz de inteiros a ser verificada
      Returns:
      true se a matriz for uma matriz nula, false caso contrário
    • isNull

      public static boolean isNull(double[][] m)
      Verifica se uma matriz de números de ponto flutuante é uma matriz nula. Uma matriz nula tem todos os elementos iguais a zero.
      Parameters:
      m - A matriz de doubles a ser verificada
      Returns:
      true se a matriz for uma matriz nula, false caso contrário
    • size

      public static int[] size(int[][] m)
      Retorna as dimensões de uma matriz de inteiros.
      Parameters:
      m - A matriz de inteiros
      Returns:
      Um array de inteiros contendo o número de linhas e colunas da matriz
    • size

      public static int[] size(double[][] m)
      Retorna as dimensões de uma matriz de números de ponto flutuante.
      Parameters:
      m - A matriz de doubles
      Returns:
      Um array de inteiros contendo o número de linhas e colunas da matriz
    • size

      public static int[] size(String[][] m)
      Retorna as dimensões de uma matriz de strings.
      Parameters:
      m - A matriz de strings
      Returns:
      Um array de inteiros contendo o número de linhas e colunas da matriz
    • size

      public static int[] size(char[][] m)
      Retorna as dimensões de uma matriz de caracteres.
      Parameters:
      m - A matriz de caracteres
      Returns:
      Um array de inteiros contendo o número de linhas e colunas da matriz
    • size

      public static int[] size(boolean[][] m)
      Retorna as dimensões de uma matriz de booleanos.
      Parameters:
      m - A matriz de booleanos
      Returns:
      Um array de inteiros contendo o número de linhas e colunas da matriz
    • isSquare

      public static boolean isSquare(int[][] m)
      Verifica se uma matriz de inteiros é quadrada. Uma matriz é quadrada se tiver o mesmo número de linhas e colunas.
      Parameters:
      m - A matriz de inteiros a ser verificada
      Returns:
      true se a matriz for quadrada, false caso contrário
    • isSquare

      public static boolean isSquare(double[][] m)
      Verifica se uma matriz de números de ponto flutuante é quadrada. Uma matriz é quadrada se tiver o mesmo número de linhas e colunas.
      Parameters:
      m - A matriz de doubles a ser verificada
      Returns:
      true se a matriz for quadrada, false caso contrário
    • isSquare

      public static boolean isSquare(char[][] m)
      Verifica se uma matriz de caracteres é quadrada. Uma matriz é quadrada se tiver o mesmo número de linhas e colunas.
      Parameters:
      m - A matriz de caracteres a ser verificada
      Returns:
      true se a matriz for quadrada, false caso contrário
    • isSquare

      public static boolean isSquare(String[][] m)
      Verifica se uma matriz de strings é quadrada. Uma matriz é quadrada se tiver o mesmo número de linhas e colunas.
      Parameters:
      m - A matriz de strings a ser verificada
      Returns:
      true se a matriz for quadrada, false caso contrário
    • random

      public static double[][] random()
      Gera uma matriz 3x3 de números de ponto flutuante aleatórios entre 0 e 100.
      Returns:
      Uma matriz 3x3 de doubles com valores aleatórios
    • random

      public static double[][] random(int[] size)
      Gera uma matriz de números de ponto flutuante aleatórios entre 0 e 100 com dimensões especificadas.
      Parameters:
      size - Um array contendo as dimensões da matriz [linhas, colunas]
      Returns:
      Uma matriz de doubles com valores aleatórios e dimensões especificadas
    • random

      public static double[][] random(double bound)
      Gera uma matriz 3x3 de números de ponto flutuante aleatórios entre 0 e o limite especificado.
      Parameters:
      bound - O limite superior (exclusivo) para os valores aleatórios
      Returns:
      Uma matriz 3x3 de doubles com valores aleatórios
    • random

      public static double[][] random(double origin, double bound)
      Gera uma matriz 3x3 de números de ponto flutuante aleatórios entre os limites especificados.
      Parameters:
      origin - O limite inferior (inclusivo) para os valores aleatórios
      bound - O limite superior (exclusivo) para os valores aleatórios
      Returns:
      Uma matriz 3x3 de doubles com valores aleatórios dentro do intervalo especificado
    • random

      public static double[][] random(int[] size, double bound)
      Gera uma matriz de números de ponto flutuante aleatórios entre 0 e o limite especificado, com dimensões personalizadas.
      Parameters:
      size - Um array contendo as dimensões da matriz [linhas, colunas]
      bound - O limite superior (exclusivo) para os valores aleatórios
      Returns:
      Uma matriz de doubles com valores aleatórios e dimensões especificadas
    • random

      public static double[][] random(int[] size, double origin, double bound)
      Gera uma matriz de números de ponto flutuante aleatórios entre os limites especificados, com dimensões personalizadas.
      Parameters:
      size - Um array contendo as dimensões da matriz [linhas, colunas]
      origin - O limite inferior (inclusivo) para os valores aleatórios
      bound - O limite superior (exclusivo) para os valores aleatórios
      Returns:
      Uma matriz de doubles com valores aleatórios dentro do intervalo especificado e com dimensões personalizadas
    • randInt

      public static int[][] randInt()
      Gera uma matriz 3x3 de números inteiros aleatórios entre 0 e 100.
      Returns:
      Uma matriz 3x3 de inteiros com valores aleatórios
    • randInt

      public static int[][] randInt(int[] size)
      Gera uma matriz de números inteiros aleatórios entre 0 e 100 com dimensões especificadas.
      Parameters:
      size - Um array contendo as dimensões da matriz [linhas, colunas]
      Returns:
      Uma matriz de inteiros com valores aleatórios e dimensões especificadas
    • randInt

      public static int[][] randInt(int bound)
      Gera uma matriz 3x3 de números inteiros aleatórios entre 0 e o limite especificado.
      Parameters:
      bound - O limite superior (exclusivo) para os valores aleatórios
      Returns:
      Uma matriz 3x3 de inteiros com valores aleatórios
    • randInt

      public static int[][] randInt(int origin, int bound)
      Gera uma matriz 3x3 de números inteiros aleatórios entre os limites especificados.
      Parameters:
      origin - O limite inferior (inclusivo) para os valores aleatórios
      bound - O limite superior (exclusivo) para os valores aleatórios
      Returns:
      Uma matriz 3x3 de inteiros com valores aleatórios dentro do intervalo especificado
    • randInt

      public static int[][] randInt(int[] size, int bound)
      Gera uma matriz de números inteiros aleatórios entre 0 e o limite especificado, com dimensões personalizadas.
      Parameters:
      size - Um array contendo as dimensões da matriz [linhas, colunas]
      bound - O limite superior (exclusivo) para os valores aleatórios
      Returns:
      Uma matriz de inteiros com valores aleatórios e dimensões especificadas
    • randInt

      public static int[][] randInt(int[] size, int origin, int bound)
      Gera uma matriz de números inteiros aleatórios entre os limites especificados, com dimensões personalizadas.
      Parameters:
      size - Um array contendo as dimensões da matriz [linhas, colunas]
      origin - O limite inferior (inclusivo) para os valores aleatórios
      bound - O limite superior (exclusivo) para os valores aleatórios
      Returns:
      Uma matriz de inteiros com valores aleatórios dentro do intervalo especificado e com dimensões personalizadas