Vous êtes sur la page 1sur 9
APÊNDICE E Tutorial da Toolbox de Matemática Simbólica do MATLAB E.1 INTRODUÇÃO
APÊNDICE
E
Tutorial da Toolbox de
Matemática Simbólica
do MATLAB
E.1 INTRODUÇÃO

Os leitores que estiverem estudando o programa MATLAB podem explorar os recursos adicionais da Toolbox de Matemática Simbólica do MATLAB. Antes de prosseguir o leitor deve estudar o Apêndice B, Tutorial do Programa MATLAB, incluindo a Seção B.1, que é aplicável a este apêndice. Para se acrescentar o processamento matemático simbólico aos arquivos M, são necessárias a Versão 3 da Toolbox de Matemática Simbólica do MATLAB, a Versão 7 do MATLAB e a Versão 8 da Toolbox de Sistemas de Controle. Os arquivos M apresentados neste apêndice estão disponibilizados na Internet. Os comandos de matemática simbólica são utilizados nos arquivos M do MATLAB juntamente com os

comandos padronizados do MATLAB. O único requisito adicional consiste em declarar as variáveis simbólicas

antes de utilizá-las com o comando syms x1 x2

Alguns dos recursos adicionais que a Toolbox de Matemática Simbólica fornece para análise e projeto de sistemas de controle incluem:

1. As funções e equações podem ser introduzidas na forma simbólica. Isto é, podem ser utilizados caracteres

, onde xi são variáveis simbólicas.

alfanuméricos e numéricos nos arquivos M. Por exemplo, você pode digitar B

B = [1 3 7]. Você poderia ainda entrar com B = a*xˆ2+b*x+c e obter seus fatores como

= xˆ2+3*x+7, em vez de

e obter seus fatores como = xˆ2+3*x+7, em vez de 2. As expressões simbólicas podem ser

2. As expressões simbólicas podem ser manipuladas algebricamente e simplificadas.

3. As funções de transferência podem ser digitadas de forma similar à sua escrita, tornando os arquivos M mais legíveis. Por exemplo, o comando G = (s+1)*(s+2)/[(sˆ2+3*s+10)*(s+4)] pode substituir

os seguintes três comandos, numg = poly([-1 -2]), deng = conv([1 3 10],[1 4]) e G = tf(numg, deng).

AApendicependice EE.indd.indd

1155

5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M

55/18/09/18/09

5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M

88:59:42:59:42 AAMM

5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M
5 5/18/09 /18/09 8 8:59:42 :59:42 A AM M

16 Apêndice E

4. As transformadas de Laplace e z, bem como suas inversas, podem ser digitadas e calculadas na forma sim- bólica.

5. As funções podem ser exibidas na forma “impressão elegante” para maior clareza na Janela de comandos do MATLAB e na saída impressa.

Essas são apenas algumas das vantagens de se utilizar a Toolbox de Matemática Simbólica. Este apêndice

irá explorar outras. O leitor é encorajado a não parar de investigar essas vantagens ao final do Apêndice E, uma vez que existem muitos recursos além dos que aqui são apresentados. A bibliografia ao final deste apêndice fornece algumas referências para investigações adicionais. O formato dos exemplos apresentados neste apêndice é idêntico ao utilizado no Apêndice B. Os programas que utilizam a linguagem simbólica adotam a designação: capítulo<número>programa simbólico<número>, como, por exemplo, ch2ps3. Assim, esses programas podem ser diferenciados daqueles do Apêndice B pelo uso de “ps” (programa simbólico) antes do número do programa, em vez de “p” (programa), ou seja, ch2p3. Os exemplos da Toolbox de Matemática Simbólica são incluídos nos Capítulos 2, 3, 4, 6 e 13. Mesmo assim,

o leitor deve aplicar o que aprendeu em outros capítulos.

E.2 EXEMPLOS DE UTILIZAÇÃO DA TOOLBOX DE MATEMÁTICA SIMBÓLICA

CAPÍTULO 2: MODELAGEM NO DOMÍNIO DA FREQÜÊNCIA

ch2ps1 A capacidade de cálculo do MATLAB é consideravelmente ampliada com o uso da Toolbox de Matemáti-

ca

Simbólica. Neste exemplo demonstra-se sua capacidade calculando a transformada de Laplace inversa de F(s).

O

início de qualquer cálculo simbólico requer a definição dos objetos simbólicos. Por exemplo, a variável da

transformada de Laplace, s, ou a variável tempo, t, devem ser definidas como objeto simbólico. Esta definição

é executada utilizando o comando syms. Assim, syms s define s como objeto simbólico; syms t define t

como objeto simbólico; e syms s t define ambas as variáveis, s e t, como objetos simbólicos. É necessário definir apenas os objetos que serão utilizados como entrada no programa. As variáveis geradas pelo programa

não precisam ser definidas. Portanto, para se obter a transformada de Laplace inversa precisa-se definir apenas s como um objeto simbólico, uma vez que t será um resultado dos cálculos. Uma vez definido o objeto pode-se digitar F como função de s como seria normalmente escrita. Não devem ser utilizados vetores para represen- tar o numerador e o denominador. As transformadas de Laplace ou as funções do tempo também podem ser exibidas na Janela de Comandos do MATLAB (MATLAB Command Window) como normalmente seriam escritas. Esta forma é denominada impressão elegante. O comando é pretty(F), onde F é a função que se deseja imprimir na forma elegante. No código a seguir pode-se verificar a diferença entre a saída normal e a saída elegante se você executar o código sem os pontos-e-vírgulas nos passos onde as funções, F ou f, são definidas. Se F tiver sido definida como F(s), será possível obter a transformada de Laplace inversa utilizando

o comando ilaplace(F). No exemplo a seguir as transformadas de Laplace inversas são obtidas das funções no domínio da freqüência utilizadas nos Casos 2 e 3 da Seção 2.2 do texto.

'(ch2ps1)'

% Exibe o título.

syms s

% Constrói objeto simbólico para

AApendicependice EE.indd.indd

1166

‘Transformada de Laplace inversa’

F=2/[(s+1)*(s+2)ˆ2];

‘F(s) para o Caso 2’ pretty F f=ilaplace(F);

‘f(t) para o Caso 2’ pretty(f)

F=3/[s*(sˆ2+2*s+5)];

‘F(s) para o Caso 3’ pretty(F)

f=ilaplace(F);

‘f(t) para o Caso 3’ pretty(f)

pause

% a variável de Laplace ‘s’.

% Exibe o título. % Define F(s) do exemplo do Caso 2. % Exibe o título.

% Apresenta F(s) na forma elegante. % Obtém a transformada de Laplace

% inversa.

% Exibe o título.

% Apresenta f(t) para o Caso 2 na forma

% elegante.

% Define F(s) do exemplo do Caso 3.

% Exibe o título.

% Apresenta F(s) para o Caso 3 na forma

% elegante.

% Obtém a transformada de Laplace

% inversa.

% Exibe o título.

% Apresenta f(t) para o Caso 3 na forma

% elegante.

55/18/09/18/09

88:59:48:59:48 AAMM

Tutorial da Toolbox de Matemática Simbólica do MATLAB

17

ch2ps2 Neste exemplo são determinadas as transformadas de Laplace de funções no domínio do tempo utili- zando o comando laplace(f), onde f é uma função no domínio do tempo, f(t). Como exemplo, são utilizadas as funções no domínio do tempo resultantes dos cálculos nos Casos 2 e 3 da Seção 2.2 no texto, e se trabalha no sentido inverso para obter suas transformadas de Laplace. Será visto que o comando laplace(f) fornece

F(s) em frações parciais. Além da impressão elegante, discutida no exemplo anterior, a Toolbox de Matemática Simbólica é dotada de outros comandos que podem alterar a aparência da legibilidade e da forma do resultado

a ser apresentado. Alguns desses comandos são: collect(F) – reúne termos de F com coeficientes comuns;

expand(f) – expande o produto de fatores de F; factor(F) – fatora F; simple(F) – obtém a forma mais simples de F com o menor número de termos; simplify(F) – simplifica F; vpa(expressão, casas decimais) – estabelecendo a aritmética de precisão variável (variable precision arithmetic), este comando converte termos simbólicos fracionários em termos com um número especificado de casas decimais. Por exem- plo, a fração simbólica 3/16 seria convertida em 0,1875 se o argumento casas decimais fosse 4. No exemplo

a seguir, a transformada de Laplace é determinada a partir de uma função do tempo. O resultado é mostrado sob

a forma de frações parciais. Para combinar as frações parciais é utilizado o comando simplify(F), onde F

é a transformada de Laplace de f(t) obtida através do comando laplace(f). Finalmente, F = vpa(F,3)

é utilizado para converter as frações simbólicas em decimais no resultado a ser exibido.

’(ch2ps2)’

% Exibe o título.

syms t

% Constrói o objeto simbólico

‘Transformada de Laplace’ ‘f(t) para o Caso 2’

% para a variável ‘t’.

% Exibe o título.

% Exibe o título.

F=2*exp(-t)-2*t*exp(-2*t)-2*exp(-2*t);

pretty(f)

‘F(s) para o Caso 2’ F=laplace(f); pretty(F)

% Define f(t) do exemplo do Caso 2.

% Apresenta f(t) do Caso 2

% na forma elegante.

% Exibe o título.

% Obtém a transformada de Laplace. % Forma elegante das frações parciais de

% F(s) para o Caso 2.

F=simplify(F);

% Combina as frações parciais.

pretty(F)

% Forma elegante das frações parciais

‘f(t) para o Caso 3’

% combinadas.

% Exibe o título.

f=3/5-3/5*exp(-t)*[cos(2*t)+(1/2)*sin(2*t)];

pretty (f)

% Define f(t) do exemplo do Caso 3.

% apresenta f(t) do Caso 3 na forma

% elegante.

‘F(s) para o Caso 3 – Frações simbólicas’

% Exibe o título.

F=laplace(f);

% Obtém a transformada de Laplace.

pretty(F)

% Forma elegante das frações parciais de

% F(s) para o Caso 3.

‘F(s) para o Caso 3 – Representação decimal’

% Exibe o título.

F=vpa(F, 3);

% Converte F(s) expressa em frações

% numéricas simbólicas para

% representação decimal

% com três casas decimais.

ptetty (F)

% Forma elegante da representação

% decimal.

‘F(s) para o Caso 3 – Simplificada’ % Exibe o título.

F=simplify(F);

% Combina as frações parciais.

pretty(F)

% Forma elegante das frações parciais

 

%

combinadas.

pause

ch2ps3 A Toolbox de Matemática Simbólica do MATLAB pode ser utilizada, conforme mostrado a seguir, para simplificar a entrada de funções de transferência complicadas: inicialmente, entre com a função de transferên- cia G(s) = numg/deng por meio de comandos de matemática simbólica. Em seguida, converta G(s) em um objeto função de transferência LTI. Esta conversão é realizada em duas etapas. A primeira utiliza o comando [numg,deng] = numden(G) para extrair o numerador e o denominador simbólicos de G. A segunda etapa converte, separadamente, o numerador e o denominador em vetores utilizando o comando sym2poly(S), onde S é um polinômio simbólico. A última etapa consiste em formar um objeto função de transferência LTI utilizando a representação vetorial do numerador e do denominador da função de transferência. Como exemplo,

AApendicependice EE.indd.indd

1177

55/18/09/18/09

88:59:49:59:49 AAMM

18 Apêndice E

forma-se o objeto LTI G(s) = [54(s + 27)(s 3 + 52s 2 + 37s + 73) / [s(s 4 + 872s 3 + 437s 2 + 89s + 65)(s 2 + 79s

+ 36)] utilizando a Toolbox de Matemática Simbólica do MATLAB para simplificar e tornar a expressão

mais legível.

’(ch2ps3)’

% Exibe o título.

syms s

% Constrói objeto simbólico para

% a variável de freqüência ‘s’.

G=54*(s+27)*(sˆ3+52*sˆ2+37*s+73)

/(s*(sˆ4+872*sˆ3+437*sˆ2+89*s+65)*(sˆ2+79*s+36));

‘G(s) na forma simbólica’ pretty(G)

[numg,deng]=numden(G);

numg=sym2poly(numg);

deng=sym2poly(deng);

‘G(s) LTI na Forma Polinomial’ Gtf=tf(numg, deng)

‘G(s) LTI na Forma Fatorada’ Gzpk=zpk(Gtf) pause

% Forma G(s) simbólica.

% Exibe o título.

% Apresenta G(s) simbólica na forma

% elegante.

% Extrai o numerador e o denominador

% simbólicos.

% Forma o vetor para o numerador de

% G(s).

% Forma o vetor para o denominador de

% G(s).

% Exibe o título. % Forma e exibe o objeto LTI para

% G(s) na forma polinomial.

% Exibe o título. % Converte G(s) para a forma fatorada.

ch2ps4 (Exemplo 2.10) A Toolbox de Matemática Simbólica pode ser utilizada na simplificação da solução das equações simultâneas empregando a Regra de Cramer. Um sistema de equações simultâneas pode ser represen- tado na forma matricial por Ax = B, onde A é a matriz formada pelos coeficientes das incógnitas das equações simultâneas, x é um vetor contendo as incógnitas e B é um vetor contendo as entradas. A regra de Cramer

estabelece que x k , o k-ésimo elemento do vetor solução, x, é obtido através de x k = det(A k )/det(A), onde A k é

a matriz formada pela substituição da k-ésima coluna da matriz A pelo vetor de entradas, B. No texto, det(A)

é designado por “delta”. No MATLAB as matrizes são escritas com um espaço ou uma vírgula separando os

elementos no interior de cada linha. A linha seguinte é indicada por um ponto-e-vírgula ou por um retorno de carro. A matriz, como um todo, é delimitada por um par de colchetes. Aplicando os conceitos estabelecidos ante-

riormente à solução do Exemplo 2.10, tem-se: A = [(R1+L*s) -L*s; -L*s (L*s+R2+(1/(c*s)))]

e Ak = [(R1+L*s) V;-L*s 0]. A função det(matriz) calcula o determinante do argumento matriz

(uma matriz quadrada). Determina-se agora a função de transferência, G(s) = I 2 (s)/V(s), solicitada no Exemplo 2.10. O comando simple(S), onde S é uma função simbólica, é introduzido na solução. Este comando sim- plifica a solução encurtando o tamanho da expressão S. O uso de simple(I2) reduz a solução combinando

os termos de mesma potência da variável de Laplace, s.

‘(ch2ps4) Exemplo 2.10’ Syms s R1 R2 L c V

% Exibe o título. % Constrói objetos simbólicos para

% a variável de freqüência ‘s’ e

% ‘R1’, ‘R2’, ‘L’, ‘c’ e ‘v’.

% Nota: utiliza a letra minúscula

% ‘c’ na declaração de

% um capacitor.

% Forma Ak = A2.

A2=[(R1+L*s) V;-L*s 0]

A=[(R1+L*s) -L*s;-L*s (L*s+R2+(1/(c*s)))]

I2=det(A2)/det(A);

% Forma A.

% Utiliza a regra de Cramer para

% calcular I2(s).

I2=simple(I2);

% Reduz a complexidade de I2(s).

G=I2/V;

% Forma a função de transferência

 

%

G(s) = I2(s)/V(s).

’G(s)’

% Exibe o título.

pretty(G)

% Apresenta G(s) na forma elegante.

pause

CAPÍTULO 3: MODELAGEM NO DOMÍNIO DO TEMPO

ch3ps1 (Exemplo 3.6) A Toolbox de Matemática Simbólica pode ser utilizada para efetuar operações com matrizes. O código para realizar essas operações é intuitivo e fácil de ler. As operações são: adição (+), subtração

AApendicependice EE.indd.indd

1188

55/18/09/18/09

88:59:50:59:50 AAMM

Tutorial da Toolbox de Matemática Simbólica do MATLAB

19

(–), inversão (^–1) e potenciação (^n) de matrizes. Essas operações são ilustradas resolvendo-se o Exemplo 3.6 do texto através do uso direto da Eq. (3.73).

‘(ch3ps1) Exemplo 3.6’ syms s

% Exibe o título. % Constrói objeto simbólico para

% a variável de freqüência ‘s’.

A=[0 1 0;0 0 1;-1 -2 -3];

% Cria a matriz A.

B=[10;0;0];

% Cria o vetor B.

C=[1 0 0];

% Cria o vetor C.

D=0;

% Cria D.

I=[1 0 0;0 1 0;0 0 1]; ’T(s)’

% Cria a matriz identidade. % Exibe o título.

T=C*((s*I-A)ˆ-1)*B+D;

% Obtém a função de transferência.

pretty(T)

% Forma elegante da função de

%

transferência.

pause

CAPÍTULO 4: RESPOSTA NO DOMÍNIO DO TEMPO

ch4ps1 (Exemplo 4.11) Tendo em vista o recurso de efetuar operações com matrizes, a Toolbox de Matemática Simbólica se presta à solução da transformada de Laplace das equações de estado. Além disso, o comando [V,D] = eig(A) permite obter os autovalores de uma matriz quadrada, A, os quais são os elementos da diagonal da matriz diagonal, D. Este comando é utilizado na solução do Exemplo 4.11.

‘(ch4ps1) Exemplo 4.1’ syms s

% Exibe o título.

% Constrói objeto simbólico para

% a variável de freqüência ‘s’.

’a’ A=[0 1 0;0 0 1;-24 -26 -9];

% Exibe o título. % Cria a matriz A.

B=[0;0;1];

% Cria o vetor B.

X0=[1;0;2];

% Cria o vetor com as condições

%

iniciais, X(0).

U=1/(s+1);

% Cria U(s).

I=[1 0 0;0 1 0;0 0 1];

% Cria a matriz identidade.

X=((s*I-A)ˆ-1)*(X0+B*U);

% Obtém a transformada de Laplace do

% vetor de estado.

x1=ilaplace(X(1));

% Calcula X1(t).

x2=ilaplace(X(2));

% Calcula X2(t).

x3=ilaplace(X(3));

% Calcula X3(t).

y=x1+x2;

% Calcula a saída y(t).

y=vpa(y,3);

% Converte frações em decimais.

’y(t)’

% Exibe o título.

pretty(y)

% Forma elegante de y(t).

’b’

% Exibe o título.

[V,D]=eig(A);

% Obtém os autovalores, que são os

% elementos da diagonal de D.

‘Autovalores na diagonal’

% Exibe o título.

D

% Exibe D.

pause

ch4ps2 (Exemplos 4.12/4.13) Neste exemplo a Toolbox de Matemática Simbólica é utilizada para resolver as equações de estado no domínio do tempo. Os recursos da Toolbox de Matemática Simbólica são explorados na realização da operação de integração. Inicialmente calcula-se a matriz de transição de estados através da transformada de Laplace inversa de (sI A) 1 . Em seguida, a integral de convolução é utilizada para se obter a solução. A integração é efetuada utilizando o comando int(S,v,a,b), onde S é a função a ser integrada, v é a variável de integração e a e b são, respectivamente, os limites inferior e superior de integração. O uso desse comando é ilustrado na solução do Exemplo 4.12 do texto. A matriz de transição de estados é obtida pelo método apresentado no Exemplo 4.13 no texto.

‘(ch4ps2) Exemplo 4.12/4.13’ Syms s t tau

% Exibe o título.

% Constrói objetos simbólicos para

% a variável de freqüência ‘s’, ‘t’

% ‘t’ e ‘tau’.

‘a’ A=[0 1;-8 -6]

% Exibe o título. % Cria a matriz A.

B=[0;1]

% Cria o vetor B.

X0=[1;0]

% Cria o vetor com as condições

AApendicependice EE.indd.indd

1199

% iniciais X(0).

55/18/09/18/09

88:59:51:59:51 AAMM

20 Apêndice E

U=1

% Cria u(t).

I=[1 0;0 1];

% Cria a matriz identidade.

’E=(s*I-A)ˆ-1’

% Exibe o título.

E=((s*I-A)ˆ-1)

% Obtém a transformada de Laplace da

Fi11=ilaplace(E(1,1));

Fi12=ilaplace(E(1,2));

Fi21=ilaplace(E(2,1));

Fi22=ilaplace(E(2,2));

’Fi(t)’ Fi=[Fi11 Fi12;Fi21 Fi22];

pretty(Fi)

Fitmtau=subs(Fi, t,t-tau); ’Fi (t-tau)’ pretty (Fitmtau)

X=Fi*X0+int(Fitmtau*B*1, tau,0,t);

% matriz de

% transição de estado, (sI – A)ˆ-1.

% Obtém a transformada de Laplace

% inversa de cada elemento de % (sI – A)ˆ-1 para obter % a matriz de transição de estados. % Exibe o título. % Forma a matriz de transição de

% estados, Fi(t).

% Apresenta a matriz de transição de

% estados, Fi(t), na forma elegante.

% Forma Fi(t – tau). % Exibe o título.

% Apresenta Fi(t – tau) na forma

% elegante.

% Calcula x(t).

X=simple(x);

% Reúne termos semelhantes.

X=simplify(x);

% Simplifica x(t).

’x(t)’

% Exibe o título.

pretty(x)

% Apresenta x(t) na forma elegante.

pause

CAPÍTULO 6: ESTABILIDADE

ch6ps1 (Exemplo 6.2) A Toolbox de Matemática Simbólica pode ser utilizada para calcular os valores da tabela de Routh de modo satisfatório. Este recurso é particularmente útil nos casos de tabelas mais complicadas, nas quais são empregados objetos simbólicos, como a letra grega épsilon. Neste exemplo, cada linha da tabela de Routh é representada por um vetor. As expressões para os elementos das linhas subseqüentes são escritas utili- zando as equações fornecidas na Tabela 6.2 do texto. O comando MATLAB det(M) é utilizado para obter o determinante da matriz quadrada, M, conforme mostrado para cada um dos elementos nas linhas da Tabela 6.2. Além disso, testa-se o primeiro elemento da linha anterior para verificar se ele é igual a zero. Se for, substitui-se este valor por épsilon, e, no cálculo da linha seguinte. Esta lógica é executada através da estrutura de comandos IF/ELSE/END do MATLAB, conforme ilustrado no código a seguir. Mostra-se agora a elaboração de uma tabela de Routh utilizando a Toolbox de Matemática Simbólica em um problema que requer o método épsilon para completar a tabela. O programa mostrado a seguir gera a tabela de Routh relativa ao Exemplo 6.2 do texto. Além disso, para tornar os resultados mais claros as linhas são sim- plificadas e “embelezadas” depois de formar a tabela. ATENÇÃO: em geral os resultados deste programa não são válidos se uma linha inteira tender para zero quando e tender para zero, como em [e 0 0 0]. Este caso deve ser manipulado de modo diferente, conforme discutido na subseção “LINHA COMPLETA DE ZEROS” da Seção 6.3 do texto.

AApendicependice EE.indd.indd

2200

‘(ch6ps1) Exemplo 6.2’

% Exibe o título.

% -det([si() si(); sj() sj()])/sj()

syms e

% Gabarito a ser utilizado em cada célula.

% Constrói objeto simbólico

% para épsilon.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

s5=[1 3 5 0 0];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

s4=[2 6 3 0 0];

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if -det([s5(1) s5(2);s4(1) s4(2)])/s4(1)==0

% Cria a linha sˆ5 da tabela de Routh.

% Cria a linha sˆ4 da tabela de Routh.

-det([s5(1) s5(3);s4(1) s4(3)])/s4(1) 0 0];

% Cria a linha sˆ3 da tabela de Routh

% se o primeiro elemento for igual a zero.

else s3=[-det([s5(1) s5(2);s4(1)

-det([s5(1) s5(3);s4(1) s4(3)])/s4(1) 0 0];

% Cria a linha sˆ3 da tabela de Routh

% se o primeiro elemento não for igual

% a zero.

55/18/09/18/09

88:59:51:59:51 AAMM

Tutorial da Toolbox de Matemática Simbólica do MATLAB

21

end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if -det([s4(1) s4(2);s3(1) s3(2)])/s3(1)==0

s2=[e

.

.

.

-det([s4(1) s4(3);s3(1) s3(3)])/s3(1) 0 0];

% Cria a linha sˆ2 da tabela de Routh

% se o primeiro elemento for igual a zero.

else s2=[-det([s4(1) s4(2);s3(1) s3(2)])/s3(1) -det([s4(1) s4(3);s3(1) s3(3)])/s3(1) 0 0];

% Cria a linha sˆ2 da tabela de Routh

% se o primeiro elemento não for igual

% a zero.

end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if -det([s3(1) s3(2);s2(1) s2(2)])/s2(1)==0

s1=[e

.

.

.

-det([s3(1) s3(3);s2(1) s2(3)])/s2(1) 0 0];

% Cria a linha sˆ1 da tabela de Routh

% se o primeiro elemento for igual a zero.

else

s1=[-det([s3(1) s3(2);s2(1) s2(2)])/s2(1) -det([s3(1) s3(3);s2(1) s2(3)])/s2(1) 0 0];

% Cria a linha sˆ1 da tabela de Routh

% se o primeiro elemento não for igual

% a zero.

end

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% s0=[-det([s2(1) s2(2);s1(1) s1(2)])/s1(1) -det([s2(1) s2(3);s1(1) s1(3)])/s1(1) 0 0];

% Cria a linha sˆ0 da tabela de Routh.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

’s5’

% Exibe o título.

s5=sym (s5);

% Converte s5 para um objeto simbólico.

s5=simplify(s5);

% Simplifica os termos da linha sˆ5.

pretty(s5)

% Forma elegante da linha sˆ5.

’s4’

% Exibe o título.

s4=sym(s4);

% Converte s4 para um objeto simbólico.

s3=simplify(s4);

% Simplifica os termos da linha sˆ4.

pretty(s4)

% Forma elegante da linha sˆ4.

’s3’

% Exibe o título.

s3=sym(s3);

% Converte s3 para um objeto simbólico.

s3=simplify(s3);

% Simplifica os termos da linha sˆ3.

pretty(s3)

% Forma elegante da linha sˆ3.

’s2’

% Exibe o título.

s2=sym(s2);

% Converte s2 para um objeto simbólico.

s2=simplify(s2);

% Simplifica os termos da linha sˆ2.

pretty(s2)

% Forma elegante da linha sˆ2.

’s1’

% Exibe o título.

s1=sym(s1);

% Converte s1 para um objeto simbólico.

s1=simplify(s1);

% Simplifica os termos da linha sˆ1.

pretty(s1)

% Forma elegante da linha sˆ1.

’s0’

% Exibe o título.

s0=sym(s0);

% Converte s0 para um objeto simbólico.

s0=simplify(s0);

% Simplifica os termos da linha sˆ0.

pretty(s0)

% Forma elegante da linha sˆ0.

pause

ch6ps2 (Exemplo 6.9)

fatório, os valores em uma tabela de Routh que contém um ganho variável, K. A técnica é semelhante à do exemplo anterior, ch6ps1, exceto pela utilização de K, em vez de e, como objeto simbólico. Ilustra-se agora a solução do Exemplo 6.9 do texto utilizando o MATLAB e a Toolbox de Matemática Simbólica do MATLAB.

A Toolbox de Matemática Simbólica pode ser utilizada para calcular, de modo satis-

‘(ch6ps2) Exemplo 6.9’

% Exibe o título.

% -det([si() si();sj() sj()])/sj()

syms K

s3=[1 77 0 0]; s2=[1 77 0 0];

% Gabarito a ser utilizado em cada célula.

% Constrói objeto simbólico

% para o ganho, K.

% Cria a linha sˆ3 da tabela de Routh. % Cria a linha sˆ2 da tabela de Routh.

AApendicependice EE.indd.indd

2211

55/18/09/18/09

88:59:52:59:52 AAMM

22 Apêndice E

s1=[-det([s3(1) s3(2);s2(1) s2(2)])/s2(1) -det([s3(1) s3(3);s2(1) s2(3)])/s2(1) 0 0];

% Cria a linha sˆ1 da tabela de Routh.

s0=[-det([s2(1) s2(2);s1(1) s1(2)])/s1(1)

-det([s2(1) s2(3);s1(1) s1(3)])/s1(1) 0 0];

 

%

Cria a linha sˆ0 da tabela de Routh.

’s3’

% Exibe o título.

s3=sym(s3);

% Converte s3 para um objeto simbólico.

s3=simplify(s3);

% Simplifica os termos da linha sˆ3.

pretty(s3)

% Forma elegante da linha sˆ3.

’s2’

% Exibe o título.

s2=sym(s2);

% Converte s2 para um objeto simbólico.

s2=simplify(s2);

% Simplifica os termos da linha sˆ2.

pretty(s2)

% Forma elegante da linha sˆ2.

’s1’

% Exibe o título.

s1=sym(s1);

% Converte s1 para um objeto simbólico.

s1=simplify(s1);

% Simplifica os termos da linha sˆ1.

pretty(s1)

% Forma elegante da linha sˆ1.

’s0’

% Exibe o título.

s0=sym(s0);

% Converte s0 para um objeto simbólico.

s0=simplify(s0);

% Simplifica os termos da linha sˆ0.

pretty(s0)

% Forma elegante da linha sˆ0.

pause

CAPÍTULO 13: SISTEMA DE CONTROLE DIGITAL

ch13ps1 (Exemplo 13.1) A Toolbox de Matemática Simbólica e o comando ztrans(f) podem ser utilizados para se obter a transformada z de uma função, f, no domínio do tempo, representada como f(nT). O MATLAB admite como default que a variável independente de amostragem no tempo é n e que a variável independente da transformada é z. Caso você queira utilizar k em vez de n, isto é, f(kT), faça uso do comando ztrans(f,k,z). Este comando do MATLAB se sobrepõe ao default admitindo que a variável independente de amostragem no tempo seja k. Resolve-se agora o Exemplo 13.1 utilizando a Toolbox de Matemática Simbólica.

‘(ch13ps1) Exemplo 13.1’ syms n T

% Exibe o título.

% Constrói objetos simbólicos para

% ‘n’ e ‘T’.

’f(nT)’

% Exibe o título.

f=n*T;

% Define f(nT).

pretty(f)

% Forma elegante de f(nT).

’F(z)’

% Exibe o título.

F=ztrans(f);

% Obtém a transformada z, F(z).

pretty(F)

% Forma elegante de F(z).

pause

ch13ps2 (Exemplo 13.2) A Toolbox de Matemática Simbólica e o comando iztrans(F) podem ser utiliza- dos para se obter a função amostrada no tempo representada por f(nT) dada sua transformada z, F(z). Se você deseja que a função retorne como f(kT), então mude o default do MATLAB relativo à variável independente de amostragem no tempo utilizando o comando iztrans(F,k). O Exemplo 13.2 é resolvido agora utilizando a Toolbox de Matemática Simbólica.

‘(ch13ps2) Exemplo 13.2’ syms z k

’F(z)’

F=0.5*z/((z-0.5)*(z-0.7));

pretty (F) ’f(kT)’ f=iztrans(F,k); pretty(f) ’f(nT)’ f=iztrans(F); pretty(f) pause

% Exibe o título.

% Constrói objetos simbólicos para

% ‘z’ e ‘k’.

% Exibe o título. % Define F(z). % Forma elegante de F(z). % Exibe o título. % Obtém a transformada z inversa, f(kT). % Forma elegante de f(kT). % Exibe o título. % Obtém a transformada z inversa, f(nT). % Forma elegante de f(nT).

ch13ps3 (Exemplo 13.4) A Toolbox de Matemática Simbólica pode ser utilizada para se obter a transformada z de uma função de transferência, G(s), em cascata com um z.o.h. Serão introduzidos dois comandos novos. O primeiro, compose(f,g), permite que uma variável g substitua a variável t em f(t). Este comando é utilizado

AApendicependice EE.indd.indd

2222

55/18/09/18/09

88:59:53:59:53 AAMM

Tutorial da Toolbox de Matemática Simbólica do MATLAB

23

para substituir t em g 2 (t) por nT antes de se obter a transformada z. O outro comando é subs(S,velha,nova). Este comando realiza uma substituição simbólica. O argumento velha é uma variável contida em S. O argu- mento nova é uma grandeza simbólica ou numérica para substituir velha. Utiliza-se subs para substituir T em G(z) por um valor numérico. Para se obter a transformada z de uma função de transferência, G(s), em cascata com um z.o.h. utilizando a Toolbox de Matemática Simbólica, as seguintes etapas devem ser executadas: (1) construa G 2 (s) = G(s)/s; (2) obtenha a transformada de Laplace inversa de G 2 (s); (3) substitua t por nT em g 2 (t); (4) obtenha G(z) = (1 – z 1 )G 2 (z) e (5) substitua T por um valor numérico. O Exemplo 13.4 é resolvido agora utilizando a Toolbox de Matemática Simbólica do MATLAB.

‘(ch13ps3) Exemplo 13.4’ syms s z n T

% Exibe o título. % Constrói objetos simbólicos para

% ‘s’, ‘z’, ‘n’ e ‘T’.

G2s=(s+2)/(s*(s+1));

% Forma G2(s) = G(s)/s.

’G2(s)=G(s)/s’

% Exibe o título.

pretty (G2s)

% Forma elegante de G2(s).

’g2(t)’

% Exibe o título.

g2t=ilaplace(G2s);

% Obtém g2(t).

pretty (g2t)

% Forma elegante de g2(t).

g2nT=compose(g2t,n*T);

% Obtém g2(nT).

’g2(nT)’

% Exibe o título.

pretty(g2nT)

% Forma elegante de g2(nT).

Gz=(1-zˆ-1)*ztrans(g2nT);

% Obtém G(z) = (1-zˆ-1)G2(z).

Gz=simplify(Gz);

% Simplifica G(z).

’G(z)=(1-zˆ-1)G2(z)’

% Exibe o título.

pretty(Gz) Gz=subs (Gz, T, 0.5);

% Forma elegante de G(z). % Utiliza T = 0,5 em G(z).

Gz=vpa(simplify(Gz),4);

% Simplifica G(z) e calcula os

‘G(z) calculado para T = 0,5’ pretty(Gz)

pause

% valores numéricos com quatro casas

% decimais.

% Exibe o título.

% Forma elegante de G(z) com

% valores numéricos.

E.3 RESUMO DOS COMANDOS

diff (S,‘x’)

Deriva a função simbólica, S, em relação à variável, x. Substitui g(y) por x em f(x). Obtém a transformada de Laplace inversa de X(s). Integra S em relação a v desde o limite inferior a até o limite superior b. Obtém a transformada z inversa. Determina f(kT) dada F(z). Sem o campo opcional, k, determina f(nT). Obtém a transformada de Laplace de x(t). Extrai o numerador e o denominador simbólicos de G(s). Forma elegante de x. Obtém a forma mais simples do objeto simbólico x. Simplifica x. Substitui o objeto simbólico S velho pelo novo. Converte v em um objeto simbólico. Declara x, y e z como objetos simbólicos. Converte o polinômio simbólico, P, em um vetor. Utiliza precisão aritmética variável. Converte os valores simbólicos fracionários em valores numéricos com D casas decimais. Obtém a transformada z de f(nT).

compose(f,g)

ilaplace(X)

int(S,v,a,b)

iztrans(F,k)

laplace(x) numden(G) pretty(x) simple(x) simplify(x) subs(S,old,new) sym(v) syms x y z

sym2poly(P)

vpa(x,D)

ztrans(f)

BIBLIOGRAFIA

The MathWorks. Getting started with Control System Toolbox 8. The MathWorks, Natick, MA, 2000–2007. The Mathworks. Getting Started with MATLAB Version 7. The MathWorks, Natick, MA, 1984–2004. The Mathworks. Symbolic Math Toolbox 3 User’s Guide. The Mathworks, Natick, MA, 1993–2007.

AApendicependice EE.indd.indd

2233

55/18/09/18/09

88:59:53:59:53 AAMM