Sistemas de Controle
0.5
Biblioteca matematica de Controle
|
Classe abstrata que tratam todos os modelos matemáticos. Mais...
#include <model.h>
Métodos Públicos | |
Model () | |
Construtor padrão da biblioteca modelos matemáticos. Mais... | |
UsedType | diff (UsedType x) |
Método que realiza a derivada de uma função de maneira numérica. Mais... | |
void | setStep (UsedType step) |
Método que insere na variável step um valor determinado. Mais... | |
void | setInstance (Model< UsedType > *m) |
Método que insere na variável instance uma instância do objeto do tipo model. Mais... | |
void | setModelCoef (Matrix< UsedType > coef) |
Método que insere na variável ModelCoef os coeficientes do modelo que será simulado. Mais... | |
void | setIO (Matrix< UsedType > in, Matrix< UsedType > out) |
Método que insere nas variáveis Input e Output os valores de entrada e saída de um modelo, ou função. Mais... | |
Matrix< UsedType > | getModelCoef () |
Método que retorna a variável ModelCoef, os coeficientes do modelo. Mais... | |
Matrix< UsedType > | getInputMatrix () |
Método que retorna as variável Input os valores de entrada do um modelo, ou função. Mais... | |
UsedType | getOutput () |
Método que retorna a variável output, o valore de saída do modelo, ou função. Mais... | |
Matrix< UsedType > | getOutputMatrix () |
Método que retorna a variável Output, os valores de saída do um modelo, ou função. Mais... | |
Matrix< UsedType > | getLinearMatrixA () |
Método cuja responsabilidade é retornar a Matrix A do sistema linear AX = b. Mais... | |
Matrix< UsedType > | getLinearEqualityB () |
Método cuja responsabilidade é retornar a Matrix b do sistema linear AX = b. Mais... | |
Matrix< UsedType > | getLinearVectorPhi () |
Método cuja responsabilidade é retornar uma linha da Matrix A do sistema linear AX = b. Mais... | |
virtual UsedType | sim (UsedType x)=0 |
Método cuja responsabilidade é simular os valores futuros da saída de um modelo. Mais... | |
virtual UsedType | sim (UsedType x, UsedType y)=0 |
Método não implementado. Mais... | |
virtual Matrix< UsedType > | sim (Matrix< UsedType > x)=0 |
Método cuja responsabilidade é simular os valores futuros da saída do modelo. Mais... | |
virtual Matrix< UsedType > | sim (Matrix< UsedType > x, Matrix< UsedType > y)=0 |
Método não implementado. Mais... | |
virtual Matrix< UsedType > | sim (UsedType lsim, UsedType lmax, UsedType step)=0 |
Método cuja responsabilidade é simular os valores futuros da saída do modelo. Mais... | |
Atributos Protegidos | |
Model< UsedType > * | instance |
UsedType | input |
UsedType | output |
UsedType | lmin |
UsedType | lmax |
UsedType | step |
Matrix< UsedType > | Input |
Matrix< UsedType > | Output |
Matrix< UsedType > | EstOutput |
Matrix< UsedType > | ModelCoef |
Matrix< UsedType > | LinearVectorPhi |
Matrix< UsedType > | LinearMatrixA |
Matrix< UsedType > | LinearEqualityB |
Classe abstrata que tratam todos os modelos matemáticos.
O objetivo principal dessa classe é ser uma abstração para tratar e simular modelos matemáticos (redes neurais, arx, armax, carima, espaço de estados, função de transferência, fuzzy, e etc.). A funcionalidade desta classe é inquestionável quando percebemos que precisamos simular, prever, derivar, obter um sistema linear (linearizar) dos modelos. Por isso, ter uma classe que integre e abstraia essas funcionalidades facilitará a implementação e, também, a desacoplará.
*instance | É uma instância do próprio objeto do tipo Model. Ele permite que, por exemplo, seja possível obter a derivada dos modelos sem precisar saber qual a sua implementação concreta. |
input | É uma variável de memória que armazena a entrada fornecida pelo usuário. |
output | É uma variável de memória que armazena a saida fornecida pela simulação, realizada pelo objeto concreto. |
lmin | É o mínimo valor de entrada que será aplicada no modelo matemático com o objetivo de se obter uma saída. |
lmax | É o máximo valor de entrada que será aplicada no modelo matemático com o objetivo de se obter uma saída. |
step | É o incremento da entrada que será utilizado na simulação e obtenção de valores futuros das equações e modelos. |
Input | É uma Matrix que armazena uma sequencia de entradas que será aplicada no modelo (fornecida pelo usuário). |
Output | É uma Matrix que armazena uma sequencia de saídas que serão obtidas do modelo (fornecida pelo usuário). Estas saídas são comparadas com as saídas estimadas EstOutput para se obter o erro de estimação. |
EstOutput | É uma Matrix que armazena uma sequencia de saídas que são resultado da aplicação de uma sequância de entradas no modelo. |
ModelCoef | É uma Matrix que armazena os coeficientes do modelo matemático que será utilizado. |
LinearVectorPhi | Um sistema linear é dado pela seguinte equação: AX = b. Esta variável representa uma linha da Matrix A e pode ser utilizada para se obter estimatidas em algoritmos recursivos, por exemplo. |
LinearMatrixA | Um sistema linear é dado pela seguinte equação: AX = b. Esta variável representa a variável A do sistema linear. |
LinearEqualityB | Um sistema linear é dado pela seguinte equação: AX = b. Esta variável representa a variável b do sistema linear. |
Construtor padrão da biblioteca modelos matemáticos.
O construtor padrão da biblioteca de simulação permite que um objeto do tipo Model seja construído.
Ex1:
Resultado:
Ex2:
Resultado:
Ex3:
Resultado:
Ver também:
UsedType Model< UsedType >::diff | ( | UsedType | x | ) |
Método que realiza a derivada de uma função de maneira numérica.
A responsabilidade deste método é retornar a derivada do modelo instanciado.
Ex:
Resultado:
Ver também: sim(), setInstance(), setStep();
Método que retorna as variável Input os valores de entrada do um modelo, ou função.
A responsabilidade deste método é permitir que o usuário tenha acesso aos valores de entradas externamente ao objeto.
Ex:
Resultado:
Ver também: sim(), setStep(), setIO();, getOutputMatrix();
Método cuja responsabilidade é retornar a Matrix b do sistema linear AX = b.
Algumas classes que herdam de model possuem uma implementação para montar um sistema linear. Essa montagem será importante para as bibliotecas de otimização.
Ex:
Resultado:
Ver também: sim(), setStep(), setIO(), getOutputMatrix();
Método cuja responsabilidade é retornar a Matrix A do sistema linear AX = b.
Algumas classes que herdam de model possuem uma implementação para montar um sistema linear. Essa montagem será importante para as bibliotecas de otimização.
Ex:
Resultado:
Ver também: sim(), setStep(), setIO(), getOutputMatrix();
Método cuja responsabilidade é retornar uma linha da Matrix A do sistema linear AX = b.
Algumas classes que herdam de model possuem uma implementação para montar um sistema linear. Essa montagem será importante para as bibliotecas de otimização. Neste caso, com apenas uma linha do sistema é possível utilizar algoritmos de otimização online.
Ex:
Resultado:
Ver também: sim(), setStep(), setIO(), getOutputMatrix();
Método que retorna a variável ModelCoef, os coeficientes do modelo.
ModelCoef é uma variável utilizada em algums modelos que herdam de model. Devido a sua grande aplicação e a necessidade de simular modelos de forma simples esta variável foi adicionada em model e não nas implementações particulares.
Ex:
Resultado:
Ver também: sim(), setStep(), setModelCoef(), diff();
UsedType Model< UsedType >::getOutput | ( | ) |
Método que retorna a variável output, o valore de saída do modelo, ou função.
A responsabilidade deste método é permitir que o usuário tenha acesso ao valor imediato de saida externamente ao objeto.
Ex:
Resultado:
Ver também: sim(), setStep(), setIO();, getOutputMatrix();
Método que retorna a variável Output, os valores de saída do um modelo, ou função.
A responsabilidade deste método é permitir que o usuário tenha acesso aos valores de saida externamente ao objeto.
Ex:
Resultado:
Ver também: sim(), setStep(), setIO();, getOutputMatrix();
Método que insere na variável instance uma instância do objeto do tipo model.
Método que insere na variável instance uma instância do objeto do tipo model, ou um ponteiro de um objeto que herde de model.
Ex:
Resultado:
void Model< UsedType >::setIO | ( | Matrix< UsedType > | in, |
Matrix< UsedType > | out | ||
) |
Método que insere nas variáveis Input e Output os valores de entrada e saída de um modelo, ou função.
A responsabilidade deste método é permitir a alteração dos valores de entradas e saídas fora da função de simulação (sim()).
Ex:
Resultado:
Ver também: sim(), setStep(), getInputMatrix(), getOutputMatrix();
Método que insere na variável ModelCoef os coeficientes do modelo que será simulado.
ModelCoef é uma variável utilizada em algums modelos que herdam de model. Devido a sua grande aplicação e a necessidade de simular modelos de forma simples esta variável foi adicionada em model e não nas implementações particulares.
Ex:
Resultado:
void Model< UsedType >::setStep | ( | UsedType | step | ) |
Método que insere na variável step um valor determinado.
A variável step tem duas responsabilidades, a primeira é ser o passo para a geração de pontos na simulação e a segunda é ser o passo de derivação e integração.
Ex:
Resultado:
Ver também: sim(), setInstance(), diff();
|
pure virtual |
Método cuja responsabilidade é simular os valores futuros da saída de um modelo.
A responsabilidade deste método é retornar um escalar com o valor correspondente a simulação de um modelo qualquer. Devido a abstração, independentemente do tipo de modelo matemático utilizado a simulação será realizada da mesma maneira.
Ex:
Resultado:
Ver também:
Implementado por StateSpace< UsedType >, TransferFunction< UsedType > e ARX< UsedType >.
|
pure virtual |
Método não implementado.
Implementado por StateSpace< UsedType >, TransferFunction< UsedType > e ARX< UsedType >.
|
pure virtual |
Método cuja responsabilidade é simular os valores futuros da saída do modelo.
A responsabilidade deste método é receber uma matriz (como sinal de entrada do modelo) e retornar uma matriz com a resposta do sistema para aquele conjunto de entradas determinadas.
Ex:
Resultado:
Ver também:
Implementado por StateSpace< UsedType >, TransferFunction< UsedType > e ARX< UsedType >.
|
pure virtual |
Método não implementado.
Implementado por StateSpace< UsedType >, TransferFunction< UsedType > e ARX< UsedType >.
|
pure virtual |
Método cuja responsabilidade é simular os valores futuros da saída do modelo.
A responsabilidade deste método é simularum modelo a partir de um sinal de entrada contido em um dado intervalo. Em que:
lmin | é o limite mínimo da entrada |
lmax | é o limite máximo da entrada |
step | é o valor incremental da entrada |
Ex:
Resultado:
Ver também:
Implementado por StateSpace< UsedType >, TransferFunction< UsedType > e ARX< UsedType >.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |