Sistemas de Controle
0.5
Biblioteca matematica de Controle
|
Classe concreta de modelos para representar equações diferenciais em espaço de estados. Mais...
#include <statespace.h>
Métodos Públicos | |
StateSpace (Matrix< UsedType > A, Matrix< UsedType > B, Matrix< UsedType > C, Matrix< UsedType > D) | |
Construtor padrão da biblioteca de Equações diferenciais em espaço de estados. Mais... | |
void | print () |
Método que imprime no prompt de comando o conteúdo de cada matriz (A,B,C,D). Mais... | |
void | c2d (UsedType SampleTime) |
Método cujo objetivo é converter as equações em espaço de estados da forma contínua para a forma discreta. Mais... | |
void | setInitialState (Matrix< UsedType > X0) |
Método cuja responsabilidade é receber uma matriz que representará o estado inicial para simulação do sistema em espaço de estados. Mais... | |
Matrix< UsedType > | getA () |
Método cuja responsabilidade é retornar uma matriz contendo os valores da matriz A do espaço de estados. Mais... | |
Matrix< UsedType > | getB () |
Método cuja responsabilidade é retornar uma matriz contendo os valores da matriz B do espaço de estados. Mais... | |
Matrix< UsedType > | getC () |
Método cuja responsabilidade é retornar uma matriz contendo os valores da matriz C do espaço de estados. Mais... | |
Matrix< UsedType > | getActualState () |
Método cuja responsabilidade é retornar uma matriz com os valores atuais do estado calculados na função sim. Mais... | |
Matrix< UsedType > | getD () |
Método cuja responsabilidade é retornar uma matriz contendo os valores da matriz D do espaço de estados. Mais... | |
UsedType | sim (UsedType u) |
Método cuja responsabilidade é simular os valores futuros da saída da equação diferencial. Mais... | |
UsedType | sim (UsedType u, UsedType y) |
Método não implementado. Mais... | |
Matrix< UsedType > | sim (Matrix< UsedType > u) |
Método cuja responsabilidade é simular os valores futuros da saída da equação diferencial. Mais... | |
Matrix< UsedType > | sim (Matrix< UsedType > u, Matrix< UsedType > y) |
Método não implementado. Mais... | |
Matrix< UsedType > | sim (UsedType lmim, UsedType lmax, UsedType step) |
Método cuja responsabilidade é simular os valores futuros da saída da equação diferencial. Mais... | |
![]() | |
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... | |
Métodos Privados | |
UsedType | factorial (unsigned n) |
Método para calcular o fatorial de um número. Mais... | |
void | c2dConversion () |
Método para realizar a conversão de um sistema em espaço de estados na forma contínua para a forma discreta. Mais... | |
void | d2cConversion () |
Método para realizar a conversão de um sistema em espaço de estados na forma discreta para a forma contínua. Mais... | |
Atributos Privados | |
bool | Continuous |
unsigned | nDiscretization |
UsedType | SampleTime |
UsedType | TimeSimulation |
Matrix< UsedType > | A |
Matrix< UsedType > | B |
Matrix< UsedType > | C |
Matrix< UsedType > | D |
Matrix< UsedType > | Ad |
Matrix< UsedType > | Bd |
Matrix< UsedType > | X |
Matrix< UsedType > | initialState |
Outros membros herdados | |
![]() | |
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 concreta de modelos para representar equações diferenciais em espaço de estados.
O objetivo principal dessa classe é ser uma equação diferencial em espaço de estados, permitindo a sua simulação.
Continuous | Variável que quando setada em true permitirá que a equação diferencial esteja no domínio contínuo e quando setada em false, no domínio discreto. |
nDiscretization | Variável que representa a precisão com a qual o sistema em espaço de estados será discretizado. A discretização do sistema é realizada utilizando série de Taylor e o nDiscretization representa quantos termos da série de taylor serão utilizados para transformar o sistema em espaço de estados de contínuo para discreto. |
SampleTime | Variável que representa o período de amostragem que será utilizado para a discretização do sistema. |
TimeSimulation | Essa variável representa a quantidade de tempo de simulação será utilizada na função sim. |
A | Variável que representa a dinâmica dos polos do sistema. Ela está diretamente relacionada a estabilidade da equação. |
B | Variável que representa o ganho do sinal de controle. |
C | Variável que seleciona qual estado ou combinação de estados será apresentada na saída da equação diferencial. |
D | Variável que está associada à transmissão direta de energia da entrada para a saída. |
Ad | Variável que representa a dinâmica dos polos do sistema. Ela está diretamente relacionada a estabilidade da equação. Neste caso a variável está no domínio discreto. |
Bd | Variável que representa o ganho do sinal de controle. Neste caso a variável está no domínio discreto. |
X | Variável que representa o estado atual da equação em espaço de estados. |
initialState | Variável que representa o estado inicial do sistema em espaço de estados. |
Definição na linha 27 do arquivo statespace.h.
StateSpace< UsedType >::StateSpace | ( | Matrix< UsedType > | A, |
Matrix< UsedType > | B, | ||
Matrix< UsedType > | C, | ||
Matrix< UsedType > | D | ||
) |
Construtor padrão da biblioteca de Equações diferenciais em espaço de estados.
O construtor padrão da biblioteca de simulação inicializa o objeto StateSpace com um período de amostragem padrão de 0,1 e com os valores de A, B, C, e D dados pelo usuário. Inicializa também Contínuos como true, nDiscretization = 4, e TimeSimulation = 10.
Ex1:
Resultado:
Ex2:
Resultado:
Ex3:
Resultado:
Ver também:
void StateSpace< UsedType >::c2d | ( | UsedType | SampleTime | ) |
Método cujo objetivo é converter as equações em espaço de estados da forma contínua para a forma discreta.
A responsabilidade deste método utilizar os métodos privados de conversão contínuo para discreto e converter as matrizes A e B para a forma discreta.
Ex:
Resultado:
Ver também:
|
private |
Método para realizar a conversão de um sistema em espaço de estados na forma contínua para a forma discreta.
Este método utiliza a expansão em série de taylor para encontrar e^At que é Ad e para encontrar Bd (Bd = (A^-1)*(Ad - (I))*B).
Ver também:
|
private |
Método para realizar a conversão de um sistema em espaço de estados na forma discreta para a forma contínua.
Este método utiliza uma transformação obtendo a matriz A, sabendo que ela foi obtida de Ad utilizando uma certa quantidade de termos da série de taylor. B = (((A^-1)*(Ad - I))^-1)*Bd;
Ver também:
|
private |
Método para calcular o fatorial de um número.
Este método auxilia a função de discretização (que usa a expansão em série de taylor).
Ver também:
Matrix<UsedType> StateSpace< UsedType >::getA | ( | ) |
Método cuja responsabilidade é retornar uma matriz contendo os valores da matriz A do espaço de estados.
A responsabilidade deste método é retornar uma Matrix contendo os valores de A. Caso o sistema esteja no domínio discreto a matriz apresentada será Ad.
Ex1:
Resultado:
Ex2:
Resultado:
Ver também:
Matrix<UsedType> StateSpace< UsedType >::getActualState | ( | ) |
Método cuja responsabilidade é retornar uma matriz com os valores atuais do estado calculados na função sim.
A responsabilidade deste método é retornar a Matrix X. A cada iteração uma matriz X de estados é calculada, e, a partir dela são obtidas as saídas da equação.
Ex:
Resultado:
Ver também:
Matrix<UsedType> StateSpace< UsedType >::getB | ( | ) |
Método cuja responsabilidade é retornar uma matriz contendo os valores da matriz B do espaço de estados.
A responsabilidade deste método é retornar uma Matrix contendo os valores de B. Caso o sistema esteja no domínio discreto será apresentado Bd.
Ex1:
Resultado:
Ex2:
Resultado:
Ver também:
Matrix<UsedType> StateSpace< UsedType >::getC | ( | ) |
Método cuja responsabilidade é retornar uma matriz contendo os valores da matriz C do espaço de estados.
A responsabilidade deste método é retornar uma Matrix contendo os valores de C. Este método independe do sistema estar no domínio contínuo ou discreto.
Ex:
Resultado:
Ver também:
Matrix<UsedType> StateSpace< UsedType >::getD | ( | ) |
Método cuja responsabilidade é retornar uma matriz contendo os valores da matriz D do espaço de estados.
A responsabilidade deste método é retornar uma Matrix contendo os valores de D. Este método independe do sistema estar no domínio contínuo ou discreto.
Ex:
Resultado:
Ver também:
void StateSpace< UsedType >::print | ( | ) |
Método que imprime no prompt de comando o conteúdo de cada matriz (A,B,C,D).
A responsabilidade deste método é apresentar os valores das matrizes da equação.
Ex:
Resultado:
Ver também: sim(UsedType u);
void StateSpace< UsedType >::setInitialState | ( | Matrix< UsedType > | X0 | ) |
Método cuja responsabilidade é receber uma matriz que representará o estado inicial para simulação do sistema em espaço de estados.
A responsabilidade deste método é preparar o sistema para realizar a simulação, caso os estado iniciais não sejam nulos.
Ex:
Resultado:
Ver também:
|
virtual |
Método cuja responsabilidade é simular os valores futuros da saída da equação diferencial.
A responsabilidade deste método é retornar um escalar com o valor correspondente a simulação da equação diferencial.
Ex:
Resultado:
Ver também:
Implementa Model< UsedType >.
|
virtual |
Método não implementado.
Implementa Model< UsedType >.
|
virtual |
Método cuja responsabilidade é simular os valores futuros da saída da equação diferencial.
A responsabilidade deste método é receber uma matriz (como sinal de entrada da equação diferncial) e retornar uma matriz com a resposta do sistema para aquele conjunto de entradas determinadas.
Ex:
Resultado:
Ver também:
Implementa Model< UsedType >.
|
virtual |
Método não implementado.
Implementa Model< UsedType >.
|
virtual |
Método cuja responsabilidade é simular os valores futuros da saída da equação diferencial.
A responsabilidade deste método é simular a equação diferencial a partir de um sinal de entrada contido em um dado intervalo. Em que:
lmin | é o limite mínimo da entrada da equação diferencial |
lmax | é o limite máximo da entrada da equação diferencial |
step | é o valor incremental da entrada da equação diferencial |
Ex:
Resultado:
Ver também:
Implementa Model< UsedType >.
|
private |
Definição na linha 33 do arquivo statespace.h.
|
private |
Definição na linha 33 do arquivo statespace.h.
|
private |
Definição na linha 33 do arquivo statespace.h.
|
private |
Definição na linha 33 do arquivo statespace.h.
|
private |
Definição na linha 33 do arquivo statespace.h.
|
private |
Definição na linha 30 do arquivo statespace.h.
|
private |
Definição na linha 33 do arquivo statespace.h.
|
private |
Definição na linha 33 do arquivo statespace.h.
|
private |
Definição na linha 31 do arquivo statespace.h.
|
private |
Definição na linha 32 do arquivo statespace.h.
|
private |
Definição na linha 32 do arquivo statespace.h.
|
private |
Definição na linha 33 do arquivo statespace.h.