|
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 |
1.8.9