domingo, novembro 01, 2009

Como plotar saída de funções de espaço-de-estados no Matlab

Suponha que tenhamos que determinar a forma de onda, o sobre-sinal, os tempos de subida e de estabilização bem como o valor de regime de um processo.

Suponha ainda que, ao invés da função de transferência G(s), foram fornecidas as equações de Espaço-de-Estados. Como fazer isso, sem contas nem complicações?

Faremos isso por meio do bloco State-Space do Simulink. Este bloco espera o fornecimento de quatro matrizes (A, B, C e D), que satisfaçam as equações de Espaço-de-Estados, conforme mostrado abaixo.


As equações de Espaço-de-Estados são

e

onde
x é o vetor de estado (n-vetor)
u é o vetor de controle (r-vetor)
y é o vetor de saída do sistema (m-vetor)
A é a matriz n x m
B  é a matriz n x r
C é a matriz m x n
D é a matriz m x r

Tudo o que precisamos fazer é determinar as quatro matrizes e usar o bloco State-Space. Complicado? Nem um pouco.

Vou mostrar, por meio de um exemplo, como fazer.

Suponha que as equações de Espaço-de-Estados que nós temos são

Podemos reescrever essas equações de modo a deixá-las em um forma matricial. Veja:

 
Por inspeção, obtemos as quatro matrizes:

  
 
 
Agora, crie um novo modelo do Simulink e insira o bloco State-Space (que se encontra em Simulink->Continuous) e conecte o bloco Step e o Scope, conforme mostrado na figura abaixo.


As matrizes devem ser escritas com a sintaxe do matlab. Assim, temos que

A = [0 1; -4 -2]
B = [0;4]
C = [1 0]
D = [0;0]

Como todos os elementos da matriz D são nulos, ela pode ser escrita simplesmente como

D = 0

Dê um clique duplo no bloco State-Space e insira os valores de A, B, C e D, conforme mostrado na figura abaixo.



Pronto. Agora é só simular, obter o gráfico da respsota do sistema e de lá obter os valores desejados. O gŕafico para o sistema do exemplo é visto a seguir.


Recomendo os três livros a seguir:

Nenhum comentário: