Sistemas de Controle  0.5
Biblioteca matematica de Controle
Métodos Públicos | Métodos Privados | Atributos Privados | Lista de todos os Membros
Referência da Template de Classe TransferFunction< UsedType >

Classe concreta de modelos para representar equações diferenciais na forma discreta e contínua (domínio de Laplace e Z). Mais...

#include <transferfunction.h>

Diagrama de Hierarquia para TransferFunction< UsedType >:
Inheritance graph
Diagrama de colaboração para TransferFunction< UsedType >:
Collaboration graph

Métodos Públicos

 TransferFunction (unsigned rows, unsigned cols)
 Construtor da biblioteca de Equações diferenciais em forma de função de transferência. Mais...
 
 TransferFunction (std::string num, std::string den, unsigned rows, unsigned cols)
 Construtor da biblioteca de Equações diferenciais em forma de função de transferência. Mais...
 
Polynom< UsedType > operator() (unsigned row, unsigned col)
 Método cuja responsabilidade é retornar a função de transferência indicada. Mais...
 
void operator() (unsigned row, unsigned col, Polynom< UsedType > P)
 Método cuja responsabilidade é inserir uma função de transferência na posição indicada. Mais...
 
void operator= (TransferFunction< UsedType > TF)
 Método cuja responsabilidade atribuir à função de transferência a esquerda da igualdade os valores da função de transferência a direita da igualdade. Mais...
 
void print ()
 Método que imprime no prompt de comando o conteúdo de cada função de transferência. Mais...
 
void setTF (Polynom< UsedType > **TF, unsigned rows, unsigned cols)
 Método cuja responsabilidade é inserir um ponteiro de funções de transferência com um tamanho de linhas e colunas determinadas. Mais...
 
Polynom< UsedType > ** getTF ()
 Método cuja responsabilidade é pegar o conteúdo da variável **TF. Mais...
 
unsigned getNRowsTF ()
 Método cuja responsabilidade é pegar o conteúdo da variável nRowsTF. Mais...
 
unsigned getNColsTF ()
 Método cuja responsabilidade é pegar o conteúdo da variável nColsTF. Mais...
 
UsedType sim (UsedType input)
 Método não implementado. Mais...
 
UsedType sim (UsedType x, UsedType y)
 Método não implementado. Mais...
 
Matrix< UsedType > sim (Matrix< UsedType > x)
 Método não implementado. Mais...
 
Matrix< UsedType > sim (Matrix< UsedType > x, Matrix< UsedType > y)
 Método não implementado. Mais...
 
Matrix< UsedType > sim (UsedType lsim, UsedType lmax, UsedType step)
 Método não implementado. Mais...
 
- Métodos Públicos herdados de Model< UsedType >
 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

void initTfNumber ()
 Método para inicializar os espaços que armazenarão as equações diferenciais. 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...
 

Atributos Privados

bool isContinuous
 
UsedType sampleTime
 
UsedType timeSimulation
 
unsigned nRowsTF
 
unsigned nColsTF
 
Polynom< UsedType > ** TF
 

Outros membros herdados

- Atributos Protegidos herdados de Model< UsedType >
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
 

Descrição Detalhada

template<class UsedType>
class TransferFunction< UsedType >

Classe concreta de modelos para representar equações diferenciais na forma discreta e contínua (domínio de Laplace e Z).

O objetivo principal dessa classe é ser uma equação diferencial, permitindo a sua simulação e utilização em outros componentes.

Parâmetros
isContinuousVariá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.
sampleTimeVariável que representa o período de amostragem que será utilizado para a discretização do sistema.
timeSimulationEssa variável representa a quantidade de tempo de simulação será utilizada na função sim.
nRowsTFEssa variável indica quantas linhas de polinômios existem na matriz de polinômios (cada polinômio representa uma equação diferencial).
nColsTFEssa variável indica quantas colunas de polinômios existem na matriz de polinômios (cada polinômio representa uma equação diferencial).
TFEssa variável armazena os polinômios que serão utilizados como equações diferenciais.

Definição na linha 22 do arquivo transferfunction.h.

Construtores & Destrutores

template<class UsedType>
TransferFunction< UsedType >::TransferFunction ( unsigned  rows,
unsigned  cols 
)

Construtor da biblioteca de Equações diferenciais em forma de função de transferência.

O construtor da biblioteca de simulação inicializa o objeto TransferFunction com o número de linhas (row) e colunas (col) indicados. Após, aloca o espaço para armazenar essas funções, e, em seguida, seta sampleTime = 0.1.

Ex:

int main(int argc, char *argv)
{
TF.print();
}

Resultado: OBS: Nenhum resultado é apresentado, pois os valores internos da função de transferência não foram preenchidos.

Ver também:

Veja também
print();
template<class UsedType>
TransferFunction< UsedType >::TransferFunction ( std::string  num,
std::string  den,
unsigned  rows,
unsigned  cols 
)

Construtor da biblioteca de Equações diferenciais em forma de função de transferência.

O construtor da biblioteca de simulação inicializa o objeto TransferFunction com o número de linhas (row) e colunas (col) indicados. Após, aloca o espaço para armazenar essas funções, e, em seguida, seta sampleTime = 0.1. Por ultimo, as strings de numerador e denominador são utlizizadas para construir os polinômios da função de transferência multivariável (caso geral).

Ex1:

int main(int argc, char *argv)
{
TransferFunction<double> TF("1","1,1",1,1);
TF.print();
}

Resultado:

+1
-------
s + 1

Ex2:

int main(int argc, char *argv)
{
TransferFunction<double> TF("1;2","0,1,1;1,2,1",2,1);
TF.print();
}

Resultado:

+1
-------
s + 1
+2
-------------
s^2 + 2s + 1

Ex3:

int main(int argc, char *argv)
{
TransferFunction<double> TF("1;2","0,1,1;1,2,1",1,2);
TF.print();
}

Resultado:

+1
-------
s + 1
+2
-------------
s^2 + 2s + 1

Ex4:

int main(int argc, char *argv)
{
TransferFunction<double> TF("0,1;0,2;1,2;1,3",
"1,2,1;1,2,1;1,2,1;1,2,1",
2,2);
TF.print();
}

Resultado:

+1
-------------
s^2 + 2s + 1
+2
-------------
s^2 + 2s + 1
s + 2
-------------
s^2 + 2s + 1
s + 3
-------------
s^2 + 2s + 1

Ver também:

Veja também
print();

Métodos

template<class UsedType>
void TransferFunction< UsedType >::c2dConversion ( )
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 se utiliza da estrutura de conversão criada em StateSpace para discretizar as equações diferenciais.

Ver também:

Veja também
StateSpace;
template<class UsedType>
unsigned TransferFunction< UsedType >::getNColsTF ( )

Método cuja responsabilidade é pegar o conteúdo da variável nColsTF.

A responsabilidade deste método é retornar a quantidade de colunas da matriz de funções de transferência (Multivariável).

Ex:
int main(int argc, char *argv)
{
TransferFunction<double> TF("0,1","1,2,1",1,1);
std::cout << TF.getNColsTF()<< std::endl;
}

Resultado:

1

Ver também:

Veja também
print(), getTF(), getNColsTF();
template<class UsedType>
unsigned TransferFunction< UsedType >::getNRowsTF ( )

Método cuja responsabilidade é pegar o conteúdo da variável nRowsTF.

A responsabilidade deste método é retornar a quantidade de linhas da matriz de funções de transferência (Multivariável).

Ex:
int main(int argc, char *argv)
{
TransferFunction<double> TF("0,1","1,2,1",1,1);
std::cout << TF.getNRowsTF() << std::endl;
}

Resultado:

1

Ver também:

Veja também
print(), getTF(), getNColsTF();
template<class UsedType>
Polynom<UsedType>** TransferFunction< UsedType >::getTF ( )

Método cuja responsabilidade é pegar o conteúdo da variável **TF.

A responsabilidade deste método é retornar os polinômios que estão contidos na variável TF, que é um ponteiro duplo (Matriz de polinômios).

Ex:
int main(int argc, char *argv)
{
TransferFunction<double> TF("0,1","1,2,1",1,1);
TF.print();
TF.getTF()[0][0].print();
return 0;
}

Resultado:

+1
-------------
s^2 + 2s + 1
+1
-------------
s^2 + 2s + 1

Ver também:

Veja também
print(), getTF(), getNRowsTF(), getNColsTF();
template<class UsedType>
void TransferFunction< UsedType >::initTfNumber ( )
private

Método para inicializar os espaços que armazenarão as equações diferenciais.

Este método tem como responsabilidade criar o espaço para armazenas as nRowsTF*nColsTF equações diferenciais requeridas.

Ver também:

Veja também
TransferFunction(unsigned rows, unsigned cols);
template<class UsedType>
Polynom<UsedType> TransferFunction< UsedType >::operator() ( unsigned  row,
unsigned  col 
)

Método cuja responsabilidade é retornar a função de transferência indicada.

A responsabilidade deste método é retornar a função de transferência localizado na linha rows e coluna cols. O usuário deve ser cuidadoso para não inserir uma linha e coluna não existente.

Ex:

int main(int argc, char *argv)
{
TransferFunction<double> TF("0,1;0,2;1,2;1,3",
"1,2,1;1,2,1;1,2,1;1,2,1",
2,2);
TF(1,1).print();
return 0;
}

Resultado:

+1
-------------
s^2 + 2s + 1

Ver também:

Veja também
print(), getTF(), getNRowsTF(), getNColsTF();
template<class UsedType>
void TransferFunction< UsedType >::operator() ( unsigned  row,
unsigned  col,
Polynom< UsedType >  P 
)

Método cuja responsabilidade é inserir uma função de transferência na posição indicada.

A responsabilidade deste método é inserir um polinômio ( que neste caso representa uma função de transferência) na linha rows e coluna cols.

Ex:

int main(int argc, char *argv)
{
Polynom<double> P("0,1","1,2,1");
TF(1,1,P);
TF.print();
return 0;
}

Resultado:

+1
-------------
s^2 + 2s + 1

Ver também:

Veja também
print(), getTF(), getNRowsTF(), getNColsTF();
template<class UsedType>
void TransferFunction< UsedType >::operator= ( TransferFunction< UsedType >  TF)

Método cuja responsabilidade atribuir à função de transferência a esquerda da igualdade os valores da função de transferência a direita da igualdade.

A responsabilidade deste método é realizar uma atribuição profunda, ou seja, não apenas atribuir o ponteiro da função de transferência, mas criar uma nova função e atribuir os valores.

Ex:

int main(int argc, char *argv)
{
Polynom<double> P("0,1","1,2,1");
TF(1,1,P);
TF.print();
TF2 = TF;
TF2.print();
return 0;
}

Resultado:

+1
-------------
s^2 + 2s + 1
+1
-------------
s^2 + 2s + 1

Ver também:

Veja também
print(), getTF(), getNRowsTF(), getNColsTF();
template<class UsedType>
void TransferFunction< UsedType >::print ( )

Método que imprime no prompt de comando o conteúdo de cada função de transferência.

A responsabilidade deste método é apresentar os valores de cada função de transferência adicionada pelo usuário (para o caso geral, multivariável).

Ex:

int main(int argc, char *argv)
{
TransferFunction<double> TF("0,1","1,2,1",1,1);
TF.print();
return 0;
}

Resultado:

+1
-------------
s^2 + 2s + 1

Ver também: getTF(), getNRowsTF(), getNColsTF();

template<class UsedType>
void TransferFunction< UsedType >::setTF ( Polynom< UsedType > **  TF,
unsigned  rows,
unsigned  cols 
)

Método cuja responsabilidade é inserir um ponteiro de funções de transferência com um tamanho de linhas e colunas determinadas.

A responsabilidade deste método é inserir um conjunto de polinômios ( que neste caso representa funções de transferência na forma multivariável) que possui rows linhas e cols colunas.

Ex:
int main(int argc, char *argv)
{
TransferFunction<double> TF("0,1","1,2,1",1,1);
TF.print();
TF2.setTF(TF.getTF(),TF.getNRowsTF(),TF.getNColsTF());
TF2.print();
return 0;
}

Resultado:

+1
-------------
s^2 + 2s + 1
+1
-------------
s^2 + 2s + 1

Ver também:

Veja também
print(), getTF(), getNRowsTF(), getNColsTF();
template<class UsedType>
UsedType TransferFunction< UsedType >::sim ( UsedType  input)
virtual

Método não implementado.

Implementa Model< UsedType >.

template<class UsedType>
UsedType TransferFunction< UsedType >::sim ( UsedType  x,
UsedType  y 
)
virtual

Método não implementado.

Implementa Model< UsedType >.

template<class UsedType>
Matrix<UsedType> TransferFunction< UsedType >::sim ( Matrix< UsedType >  x)
virtual

Método não implementado.

Implementa Model< UsedType >.

template<class UsedType>
Matrix<UsedType> TransferFunction< UsedType >::sim ( Matrix< UsedType >  x,
Matrix< UsedType >  y 
)
virtual

Método não implementado.

Implementa Model< UsedType >.

template<class UsedType>
Matrix<UsedType> TransferFunction< UsedType >::sim ( UsedType  lsim,
UsedType  lmax,
UsedType  step 
)
virtual

Método não implementado.

Implementa Model< UsedType >.

Atributos

template<class UsedType>
bool TransferFunction< UsedType >::isContinuous
private

Definição na linha 25 do arquivo transferfunction.h.

template<class UsedType>
unsigned TransferFunction< UsedType >::nColsTF
private

Definição na linha 27 do arquivo transferfunction.h.

template<class UsedType>
unsigned TransferFunction< UsedType >::nRowsTF
private

Definição na linha 27 do arquivo transferfunction.h.

template<class UsedType>
UsedType TransferFunction< UsedType >::sampleTime
private

Definição na linha 26 do arquivo transferfunction.h.

template<class UsedType>
Polynom<UsedType>** TransferFunction< UsedType >::TF
private

Definição na linha 28 do arquivo transferfunction.h.

template<class UsedType>
UsedType TransferFunction< UsedType >::timeSimulation
private

Definição na linha 26 do arquivo transferfunction.h.


A documentação para esta classe foi gerada a partir do seguinte arquivo: