Sistemas de Controle
0.5
Biblioteca matematica de Controle
|
Classe Matriz, com o intuito de realizar operações entre matrizes entre outras funções. Mais...
#include <matrix.h>
Métodos Públicos | |
Matrix () | |
Construtor padrão da classe. Mais... | |
Matrix (string value) | |
Construtor que recebe como parâmetro uma string. Mais... | |
Matrix (int row, int col) | |
Construtor que recebe como parâmetros o número de linhas e colunas. Mais... | |
Matrix (const Matrix &otherMatrix) | |
Construtor de cópia da classe. Mais... | |
~Matrix () | |
Destrutor padrão da classe. Mais... | |
void | init (int row, int col) |
Método de inicialização da matriz. Mais... | |
void | init (string value) |
Método de inicialização da matriz tomando um valor de string como entrada. Mais... | |
void | add (int rol, int col, UsedType number) |
Método inserir valores em uma determinada posição da matriz. Mais... | |
void | eye (int num) |
Método para criar uma matriz identidade (Matriz com 1 nos elementos da diagonal principal). Mais... | |
void | ones (int row, int col) |
Cria uma matriz preenchida com o valor 1 em todos os seus elementos. Mais... | |
void | zeros (int row, int col) |
Cria uma matriz de zeros. Mais... | |
void | randU (int row, int col) |
Cria uma matriz preenchida com valores aleatórios do tamanho desejado. Mais... | |
int | length () |
Retorna o maior tamanho entre as linhas e colunas. Mais... | |
UsedType | max () |
Retorna o elemento da matriz de maior valor numérico. Mais... | |
UsedType | min () |
Retorna o elemento da matriz de menor valor numérico. Mais... | |
Matrix | Avarage () |
Calcula a média dos elementos da matriz. Mais... | |
Matrix | Variance () |
Calcula a variância dos elementos de uma matriz. Mais... | |
Matrix | Std () |
Calcula o desvio padrão da matriz. Mais... | |
void | print () |
Exibe a matriz. Mais... | |
Matrix | operator+ (Matrix Mat1) |
Sobrecarga do operador + para a soma entre matrizes. Mais... | |
Matrix | operator+ (UsedType a) |
Sobrecarga do operador + para a soma entre matriz e escalar. Mais... | |
Matrix | operator- (Matrix Mat1) |
Sobrecarga do operador - para a subtração entre matrizes. Mais... | |
Matrix | operator- (UsedType a) |
Sobrecarga do operador - para a subtração entre matriz e escalar. Mais... | |
void | operator= (Matrix Mat1) |
Operador de atribuição entre matrizes. Mais... | |
void | operator= (string value) |
Operador de atribuição entre matriz e string. Mais... | |
Matrix | operator* (Matrix Mat1) |
Operador de multiplicação entre matrizes. Mais... | |
Matrix | operator* (UsedType a) |
Operador de multiplicação entre matriz e escalar. Mais... | |
Matrix | operator/ (Matrix Mat1) |
Sobrecarga do operador / para "divisão" entre matrizes. Mais... | |
Matrix | operator/ (UsedType a) |
Operador de divisão entre matriz e escalar. Mais... | |
Matrix | operator| (Matrix Mat1) |
Sobrecarga do operador | para realizar a concatenação de matrizes (adicionando às colunas). Mais... | |
Matrix | operator|| (Matrix Mat1) |
Sobrecarga do operador || para realizar a concatenação de matrizes (adicionando às linhas). Mais... | |
Matrix | operator~ () |
Sobrecarga do operador ~ para obter a transposta da matriz. Mais... | |
Matrix | operator^ (UsedType exp) |
Sobrecarga do operador ^ para obter a potenciação de matrizes. Mais... | |
Matrix | operator> (UsedType num) |
Sobrecarga do operador > para obter a potenciação dos elementos da matriz. Mais... | |
UsedType | operator() (int row, int col) |
Sobrecarga do operador () para acessar os elementos da matriz. Mais... | |
void | operator() (int row, int col, UsedType value) |
Sobrecarga do operador () para inserir elementos em uma matriz. Mais... | |
void | lineVector (int left, int rigth) |
Cria um vetor linha de elementos crescentes. Mais... | |
UsedType | trace () |
Calcula o traço da matriz. Mais... | |
Matrix | inv () |
Calcula a matriz inversa. Mais... | |
Matrix | pol () |
Encontra o polinômio característico da matriz. Mais... | |
Matrix | eigenvalues () |
Calcula os autovalores da matriz. Mais... | |
UsedType | det () |
Calcula o determinante da matriz. Mais... | |
int | getRows () |
Retorna o número de linhas da matriz. Mais... | |
int | getCols () |
Retorna o número de colunas da matriz. Mais... | |
void | setLine (int num, Matrix< UsedType > Line) |
Inserir em uma matriz uma linha inteira em uma matriz. Mais... | |
void | setColumn (int num, Matrix< UsedType > Colummn) |
Inserir em uma matriz uma coluna inteira em uma matriz. Mais... | |
Matrix< UsedType > | getLine (int num) |
Obter uma linha inteira de uma matriz. Mais... | |
Matrix< UsedType > | getColumn (int num) |
Obter uma coluna inteira de uma matriz. Mais... | |
UsedType | getMat (int row, int col) |
void | setMat (int row, int col, UsedType num) |
Métodos Privados | |
bool | sqr (Matrix< UsedType > Mat1) |
Ponteiro duplo aonde serão armazenados os dados da Matriz. Mais... | |
bool | ind (Matrix< UsedType > Mat1) |
Função de verificação interna da matriz. Mais... | |
Atributos Privados | |
int | rows |
int | cols |
Membro que armazena o número de linhas da Matriz. Mais... | |
UsedType ** | Mat |
Membro que armazena o número de colunas da Matriz. Mais... | |
Amigas | |
template<class FriendType > | |
Matrix< FriendType > | operator- (FriendType a, Matrix< FriendType > Mat1) |
template<class FriendType > | |
Matrix< FriendType > | operator- (FriendType a, Matrix< FriendType > Mat1) |
template<class FriendType > | |
Matrix< FriendType > | operator* (FriendType a, Matrix< FriendType > Mat1) |
template<class FriendType > | |
Matrix< FriendType > | operator/ (FriendType a, Matrix< FriendType > Mat1) |
template<class FriendType > | |
Matrix< FriendType > | diff (Matrix< FriendType > M, FriendType h) |
template<class FriendType > | |
FriendType | max (Matrix< FriendType > M) |
template<class FriendType > | |
FriendType | min (Matrix< FriendType > M) |
template<class FriendType > | |
FriendType | norm (Matrix< FriendType > M) |
template<class FriendType > | |
Matrix< FriendType > | abs (Matrix< FriendType > M) |
template<class FriendType > | |
Matrix< FriendType > | cos (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | sin (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | tan (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | acos (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | asin (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | atan (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | cosh (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | sinh (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | tanh (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | acosh (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | asinh (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | atanh (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | exp (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | log (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | log10 (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | ceil (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | round (Matrix< FriendType > M1) |
template<class FriendType > | |
Matrix< FriendType > | floor (Matrix< FriendType > M1) |
Classe Matriz, com o intuito de realizar operações entre matrizes entre outras funções.
Biblioteca que gerencia matrizes, tais como as suas operações e propriedades.
Construtor padrão da classe.
Instancia o objeto da classe Matrix com os elementos em 0.
Ex:
Resultado:
Obs: Não mostra nada na tela
Construtor que recebe como parâmetro uma string.
Instancia o objeto da classe Matrix convertendo uma string de valores numéricos em elementos para a matriz.
value | Cadeia de caracteres que define a matriz. |
Os elementos devem obedecer o seguinte critério:
A vírgula "," é utilizada para separar os elementos de uma linha em colunas
O ponto e vírgula ";" é utilizado para quebrar a linha da matriz
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n
Construtor que recebe como parâmetros o número de linhas e colunas.
Inicializa a matriz com o número corresponde de linhas e colunas, e com todos os elementos em 0.
row | Número de linhas da matriz. |
col | Número de colunas da matriz. |
Ex:
Resultado: 0.000 0.000 0.000\n 0.000 0.000 0.000\n 0.000 0.000 0.000\n
Construtor de cópia da classe.
Construtor de cópia da classe, gerencia as aplicações de memória da classe
otherMatrix | Recebe como parâmetro uma cópia da matriz. |
OBS: Este construtor não tem exemplo associado. Funciona implícitamente.
Destrutor padrão da classe.
Libera todas as memórias alocadas durante a execução de objetos da classe.
OBS: Este Destrutor não tem exemplo associado. Funciona implícitamente.
void Matrix< UsedType >::add | ( | int | rol, |
int | col, | ||
UsedType | number | ||
) |
Método inserir valores em uma determinada posição da matriz.
Recebe como parâmetro de entrada a posição da matriz e insere um determinado elemento.
rol | Linha a ser inserido o valor. |
col | Linha a ser inserido o valor. |
number | Valor a ser inserido. |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n
Calcula a média dos elementos da matriz.
Considera uma matriz como uma amostra, retirando a média aritmética das linhas da matriz.
UsedType Matrix< UsedType >::det | ( | ) |
Calcula o determinante da matriz.
Calcula o determinante da matriz dada e devolve um escalar que simboliza esse determinante.
Ex:
Resultado: 1.000 2.000 3.000\n 0.000 5.000 6.000\n 7.000 1.000 9.000\n -0.000175765\n Ver também:
Calcula os autovalores da matriz.
Calcula os autovalores da matriz dada e devolve um vetor (matriz) que representam os autovalores (desordenados).
Ex:
Resultado: 1.000 2.000 3.000\n 0.000 5.000 6.000\n 7.000 1.000 9.000\n 12.714 1.000 1.286\n Ver também:
void Matrix< UsedType >::eye | ( | int | num | ) |
Método para criar uma matriz identidade (Matriz com 1 nos elementos da diagonal principal).
Cria uma matriz identidade quadrada.
num | Número corresponde a dimensão da matriz identidade (Matriz quadrada). |
Ex:
Resultado: 1.000 0.000 0.000\n 0.000 1.000 0.000\n 0.000 0.000 1.000\n
int Matrix< UsedType >::getCols | ( | ) |
Retorna o número de colunas da matriz.
A responsabilidade desta função é permitir o acesso (obter) a variável cols da classe, ou seja, saber qual o número de colunas que a matriz tem.
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 3\n Ver também: \sa int getRows()
Obter uma coluna inteira de uma matriz.
A responsabilidade desta função é permitir a obtenção de uma coluna inteira de uma matriz.
num | É a coluna que será obtida da matriz |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 2.000\n 5.000\n 8.000\n Ver também: \sa Matrix<UsedType> getLine(int num)
Obter uma linha inteira de uma matriz.
A responsabilidade desta função é permitir a obtenção de uma linha inteira de uma matriz.
num | É a linha que será obtida da matriz |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 4.000 5.000 6.000\n Ver também: \sa Matrix<UsedType> getColumn(int num)
UsedType Matrix< UsedType >::getMat | ( | int | row, |
int | col | ||
) |
int Matrix< UsedType >::getRows | ( | ) |
Retorna o número de linhas da matriz.
A responsabilidade desta função é permitir o acesso (obter) a variável rows da classe, ou seja, saber qual o número de linhas que a matriz tem.
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 3\n Ver também: \sa int getCols()
Função de verificação interna da matriz.
A função verifica se a matriz é identidade.
Mat1 | Matriz de entrada a se verificar se é identidade. |
void Matrix< UsedType >::init | ( | int | row, |
int | col | ||
) |
Método de inicialização da matriz.
Inicializa a matriz com o respectivo número de linhas e colunas.
row | Número de linhas da matriz. |
col | Número de colunas da matriz. |
Ex:
Resultado: 0.000 0.000 0.000\n 0.000 0.000 0.000\n 0.000 0.000 0.000\n
void Matrix< UsedType >::init | ( | string | value | ) |
Método de inicialização da matriz tomando um valor de string como entrada.
Inicializa a matriz com uma determinada cadeia de caracteres dada como entrada.
value | Cadeia de caracteres que define a matriz. |
Os elementos devem obedecer o seguinte critério:
A vírgula "," é utilizada para separar os elementos de uma linha em colunas
O ponto e vírgula ";" é utilizado para quebrar a linha da matriz
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n
Calcula a matriz inversa.
Calcula a inversa da matriz dada.
Ex:
Resultado: 1.000 2.000 3.000\n 0.000 5.000 6.000\n 7.000 1.000 9.000\n 2.167 -0.833 -0.167\n 2.333 -0.667 -0.333\n -1.944 0.722 0.278\n Ver também:
int Matrix< UsedType >::length | ( | ) |
Retorna o maior tamanho entre as linhas e colunas.
Este método verifica os valores de rows e cols da matriz e retorna o maior valor entre os dois.
Obs: A função não recebe parâmetros de entrada
Ex:
Resultado: 9\n
void Matrix< UsedType >::lineVector | ( | int | left, |
int | rigth | ||
) |
Cria um vetor linha de elementos crescentes.
Recebe um intervalo e cria um vetor contando do intervalo menor até o maior de um em um.
left | limite inferior do vetor. |
rigth | limite superior do vetor. |
Obs: Lembrando que o elemento da primeira posição é o que tem linha 1 e coluna 1, também.
Ex:
Resultado: 10.000 11.000 12.000 13.000 14.000 15.000\n Ver também:
UsedType Matrix< UsedType >::max | ( | ) |
Retorna o elemento da matriz de maior valor numérico.
Este método realiza uma busca interna na matriz pelo maior valor existente nela.
Obs: A função não recebe parâmetros de entrada
Ex:
Resultado: 9\n
UsedType Matrix< UsedType >::min | ( | ) |
Retorna o elemento da matriz de menor valor numérico.
Este método realiza uma busca interna na matriz pelo menor valor existente nela.
Obs: A função não recebe parâmetros de entrada
Ex:
Resultado: 1\n
void Matrix< UsedType >::ones | ( | int | row, |
int | col | ||
) |
Cria uma matriz preenchida com o valor 1 em todos os seus elementos.
Recebe como parâmetros a dimensão da matriz, e cria uma matriz totalmente preenchida com o número 1.
row | Número de linhas da matriz. |
col | Número de colunas da matriz. |
Ex:
Resultado: 1.000 1.000 1.000\n 1.000 1.000 1.000\n 1.000 1.000 1.000\n
UsedType Matrix< UsedType >::operator() | ( | int | row, |
int | col | ||
) |
Sobrecarga do operador () para acessar os elementos da matriz.
O operador () foi sobrecarregado de tal forma a simplificar o acesso aos elementos internos de uma matriz. A partir da indicação da linha e coluna (parâmetros que são recebidos) o resultado da operação será o elemento da matriz que se encontra naquela posição.
row | Linha do elemento. |
col | Coluna do elemento. |
Obs: Lembrando que o elemento da primeira posição é o que tem linha 1 e coluna 1, também.
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 1\n Ver também: \sa Matrix operator* (Matrix Mat1) \sa Matrix operator^ (Matrix Mat1)
void Matrix< UsedType >::operator() | ( | int | row, |
int | col, | ||
UsedType | value | ||
) |
Sobrecarga do operador () para inserir elementos em uma matriz.
O operador () foi sobrecarregado de tal forma a simplificar a inserção de elementos em uma matriz. A partir da indicação da linha e coluna (parâmetros que são recebidos) um novo elemento pode ser inserido (na posição determinada).
rol | Linha do elemento. |
col | Coluna do elemento. |
value | Valor a ser inserido na linha e coluna especificada |
Obs: Lembrando que o elemento da primeira posição é o que tem linha 1 e coluna 1, também.
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n Ver também: \sa void add(int rol, int col, UsedType number)
Operador de multiplicação entre matrizes.
O método é uma sobrecarga do operador *. Ele permite que a operação de multiplicação entre matrizes seja simplificada. O método realiza a multiplicação entre duas matrizes que estão a esquerda e a direita do operador *.
Mat1 | É uma matriz qualquer a direita do operador *. |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 1.000 0.000 0.000\n 0.000 1.000 0.000\n 0.000 0.000 1.000\n 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n Ver também: \sa Matrix(string value), \sa Matrix()
Operador de multiplicação entre matriz e escalar.
O método é uma sobrecarga do operador *. Ele permite que a operação de multiplicação entre matriz e escalar seja simplificada. O método realiza a multiplicação entre uma matriz que está a esquerda e um escalar a direita do operador *.
a | É um escalar qualquer a direita do operador *. |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 2.000 4.000 6.000\n 8.000 10.000 12.000\n 14.000 16.000 18.000\n Ver também: \sa Matrix(string value), \sa Matrix()
Sobrecarga do operador + para a soma entre matrizes.
O método é uma sobrecarga do operador +. Ele permite que a operação de soma entre matrizes seja simplificada. O método realiza a soma de uma matriz que está à esquerda (this) e uma à direita (Mat1) do operador +.
Mat1 | Matriz a ser somada com a matriz this. |
Obs: Para que a soma entre as matrizes seja realizada de maneira adequada, ambas as matrizes devem possuir a mesma quantidade de linhas e colunas.
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 3.000 2.000 1.000\n 6.000 5.000 4.000\n 9.000 8.000 7.000\n 4.000 4.000 4.000\n 10.000 10.000 10.000\n 16.000 16.000 16.000\n
Sobrecarga do operador + para a soma entre matriz e escalar.
O método é uma sobrecarga do operador +. Ele permite que a operação de soma entre matriz e escalar seja simplificada. O método realiza a soma de uma matriz que está à esquerda (this) e um escalar à direita (a) do operador +.
a | escalar (número) a ser somado com a matriz this. |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 10.000 11.000 12.000\n
Sobrecarga do operador - para a subtração entre matrizes.
O método é uma sobrecarga do operador -. Ele permite que a operação de subtração entre matrizes seja simplificada. O método realiza a subtração de uma matriz que está à esquerda (this) e uma à direita (Mat1) do operador +.
Mat1 | Matriz a ser subtraída com a matriz this. |
Obs: Para que a subtração entre as matrizes seja realizada de maneira adequada, ambas as matrizes devem possuir a mesma quantidade de linhas e colunas.
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 3.000 2.000 1.000\n 6.000 5.000 4.000\n 9.000 8.000 7.000\n -2.000 0.000 2.000\n -2.000 0.000 2.000\n -2.000 0.000 2.000\n
Sobrecarga do operador - para a subtração entre matriz e escalar.
O método é uma sobrecarga do operador -. Ele permite que a operação de subtração entre matriz e escalar seja simplificada. O método realiza a subtração de uma matriz que está à esquerda (this) e um escalar à direita (a) do operador -.
a | escalar (número) a ser subtraído com a matriz this. |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n -2.000 -1.000 0.000\n 1.000 2.000 3.000\n 4.000 5.000 6.000\n
Sobrecarga do operador / para "divisão" entre matrizes.
A "divisão" matricial equivale a multiplicação com uma das matrizes (a direita do operador /) invertida (matriz^-1).
Mat1 | É a matriz que será invertida (à direita do oprador /) para depois ser multiplicada pela matriz que está a esquerda do operador /. |
Obs: Uma matriz vezes a sua inversa resulta na matriz identidade.
Ex:
Resultado: 1.000 0.000 3.000\n 4.000 5.000 6.000\n 1.000 8.000 9.000\n 1.000 0.000 0.000\n 0.000 1.000 0.000\n 0.000 0.000 1.000\n Ver também: \sa Matrix inv()
Operador de divisão entre matriz e escalar.
O método é uma sobrecarga do operador /. Ele permite que a operação de divisão entre matriz e escalar seja simplificada. O método realiza a divisão entre uma matriz que está a esquerda e um escalar a direita do operador /.
a | É um escalar qualquer a direita do operador /. |
Ex:
Resultado: 2.000 4.000 6.000\n 8.000 10.000 12.000\n 14.000 16.000 18.000\n 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n Ver também: \sa Matrix(string value), \sa Matrix()
Operador de atribuição entre matrizes.
O método é uma sobrecarga do operador =. Ele permite que a operação de atribuição entre matrizes seja realizada sem que haja a cópia do ponteiro da matriz à direita. O método cria um espaço de memória na matriz à esquerda da igualdade do mesmo tamanho da do lado direito e, após, cópia os valores para a matriz à esquerda.
Mat1 | é uma matriz qualquer que está do lado direito da igualdade. |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n
void Matrix< UsedType >::operator= | ( | string | value | ) |
Operador de atribuição entre matriz e string.
O método é uma sobrecarga do operador =. Ele permite que a operação de atribuição entre matriz e string seja simplificada. O método cria um espaço de memória na matriz à esquerda da igualdade, converte a string à direita da igualdade, converte-a em uma matriz e coloca os seus valores na matriz à esquerda da igualdade.
value | é uma string qualquer que está do lado direito da igualdade. |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n Ver também: \sa void init(string value), \sa Matrix(string value)
Sobrecarga do operador > para obter a potenciação dos elementos da matriz.
O operador > foi sobrecarregado de tal forma a simplificar a operação de potenciação dos elementos internos de uma matriz.
exp | Expoente que indica a potência de cada elemento interno da matriz. |
Ex:
Resultado: 3.000 3.000 3.000\n 3.000 3.000 3.000\n 3.000 3.000 3.000\n 9.000 9.000 9.000\n 9.000 9.000 9.000\n 9.000 9.000 9.000\n Ver também: \sa Matrix operator* (Matrix Mat1), \sa Matrix operator> (Matrix Mat1)
Sobrecarga do operador ^ para obter a potenciação de matrizes.
O operador ^ foi sobrecarregado de tal forma a simplificar a operação de potenciação de matrizes, dada uma matriz e um escalar (à esquerda e à direita do operador ^ respectivamente).
exp | Expoente cujo módulo significa a quantidade de vezes que a multiplicação entre a matriz com ela mesma será repetida. Caso o expoente seja negativo o programa primeiramente invertará a matriz para depois realizar a potenciação. |
Ex:
Resultado: 3.000 0.000 0.000\n 0.000 3.000 0.000\n 0.000 0.000 3.000\n 27.000 0.000 0.000\n 0.000 27.000 0.000\n 0.000 0.000 27.000\n Ver também: \sa Matrix operator* (Matrix Mat1)
Sobrecarga do operador | para realizar a concatenação de matrizes (adicionando às colunas).
O operador | foi sobrecarregado de tal forma que concatena duas matrizes (a direita e a esquerda do operador | ) retornando como resultado uma matriz (formada pela junção das duas matrizas, colocando uma ao lado da outra).
Mat1 | Matriz a ser concatenada juntamente com a matriz à direita do operador || para formar uma nova matriz. |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 4.000\n 7.000\n 10.000\n 1.000 2.000 3.000 4.000\n 4.000 5.000 6.000 7.000\n 7.000 8.000 9.000 10.000\n Ver também: \sa Matrix operator|| (Matrix Mat1)
Sobrecarga do operador || para realizar a concatenação de matrizes (adicionando às linhas).
O operador || foi sobrecarregado de tal forma que concatena duas matrizes (a direita e a esquerda do operador || ) retornando como resultado uma matriz (formada pela junção das duas matrizas, colocando uma abaixo da outra).
Mat1 | Matriz a ser concatenada juntamente com a matriz à direita do operador || para formar uma nova matriz. |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 10.000 11.000 12.000\n 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 10.000 11.000 12.000\n Ver também: \sa Matrix operator| (Matrix Mat1)
Sobrecarga do operador ~ para obter a transposta da matriz.
O operador ~ foi sobrecarregado de tal forma que retorna a transposta da matriz em que ele está a esquerda.
Obs: O método não requer parâmetro de entrada (exceto a matriz que estará localizada à direita do operador ~)
Ex:
Resultado: 4.000\n 7.000\n 10.000\n 10.000 11.000 12.000\n Ver também: \sa Matrix operator* (Matrix Mat1)
Encontra o polinômio característico da matriz.
Calcula o polinômio característico da matriz dada e devolve os índices do polinômio. O vetor resultante representa o polinômio característico onde o último elemtento é a constante e o primeiro multiplica .
Ex:
Resultado: 1.000 2.000 3.000\n 0.000 5.000 6.000\n 7.000 1.000 9.000\n -1.000 15.000 -32.000 18.000\n Ver também:
void Matrix< UsedType >::print | ( | ) |
Exibe a matriz.
Este método apresenta na tela todos os valores da matriz de maneira ordenada.
Obs: Para que seja apresentado algum valor o usuário deverá utilizar algum dos métodos de preenchimento de matrizes
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n
void Matrix< UsedType >::randU | ( | int | row, |
int | col | ||
) |
Cria uma matriz preenchida com valores aleatórios do tamanho desejado.
Recebe como parâmetros a dimensão da matriz, e cria uma matriz preeenchida com números aleatórios com distribuição uniforme (utiliza a função rand do próprio c).
row | Número de linhas da matriz. |
col | Número de colunas da matriz. |
Obs: Os números gerados na matriz estarão em uma faixa entre 0 e 1
Ex:
Possível resultado: 0.485 0.189 0.195\n 0.350 0.284 0.023\n 0.463 0.848 0.048\n
Inserir em uma matriz uma coluna inteira em uma matriz.
A responsabilidade desta função é permitir a inserção de uma coluna inteira em uma matriz.
num | É a coluna que será alterada na matriz de destino |
Colummn | é a coluna que será inserida na matriz |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 1.000 1.000 3.000\n 4.000 2.000 6.000\n 7.000 3.000 9.000\n Ver também: \sa void setLine(int num, Matrix<UsedType> Line)
Inserir em uma matriz uma linha inteira em uma matriz.
A responsabilidade desta função é permitir a inserção de uma linha inteira em uma matriz.
num | É a linha que será alterada na matriz de destino |
Line | é a linha que será inserida na matriz |
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 1.000 2.000 3.000\n 1.000 2.000 3.000\n 7.000 8.000 9.000\n Ver também: \sa void setColumn(int num, Matrix<UsedType> Colummn)
void Matrix< UsedType >::setMat | ( | int | row, |
int | col, | ||
UsedType | num | ||
) |
Ponteiro duplo aonde serão armazenados os dados da Matriz.
Função de verificação a interna das dimensões da matriz.
A função verifica se a matriz é quadrada ou não.
Mat1 | Matriz de entrada a se verificar as dimensões. |
Calcula o desvio padrão da matriz.
Retorna o desvio padrão de uma matriz.
UsedType Matrix< UsedType >::trace | ( | ) |
Calcula o traço da matriz.
Calcula o traço da matriz, ou seja, a soma de todos os elementos da diagonal principal.
Ex:
Resultado: 1.000 2.000 3.000\n 4.000 5.000 6.000\n 7.000 8.000 9.000\n 15\n Ver também:
Calcula a variância dos elementos de uma matriz.
void Matrix< UsedType >::zeros | ( | int | row, |
int | col | ||
) |
Cria uma matriz de zeros.
Recebe como parâmetros a dimensão da matriz, e cria uma matriz totalmente preeenchida com o número 0.
row | Número de linhas da matriz. |
col | Número de colunas da matriz. |
Ex:
Resultado: 0.000 0.000 0.000\n 0.000 0.000 0.000\n 0.000 0.000 0.000\n
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
private |
|
private |
|
private |