Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia...

95
INSTITUTO TECNOLÓGICO DE AERONÁUTICA Douglas Coimbra de Andrade Identificação Paramétrica de Sistemas Dinâmicos Trabalho de Graduação Ano 2005 Mecânica

Transcript of Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia...

Page 1: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

INSTITUTO TECNOLÓGICO DE AERONÁUTICA

Douglas Coimbra de Andrade

Identificação Paramétrica de Sistemas Dinâmicos

Trabalho de Graduação

Ano 2005

Mecânica

Page 2: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

CTA/ITA-IEM/TC-022/2005

DOUGLAS COIMBRA DE ANDRADE

IDENTIFICAÇÃO PARAMÉTRICA DE SISTEMAS DINÂMICOS

Orientador Prof. Dr. Alberto Adade Filho (ITA)

Divisão de Engenharia Mecânica-Aeronáutica

SÃO JOSÉ DOS CAMPOS

CENTRO TÉCNICO AEROESPACIAL

INSTITUTO TECNOLÓGICO DE AERONÁUTICA

2005 Dados Internacionais de Catalogação-na-Publicação (CIP)

Page 3: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Dados Internacionais de Catalogação-na-Publicação (CIP)Divisão Biblioteca Central do ITA/CTA

Andrade. Douglas Coimbra deIdentificação Paramétrica de Sistemas Dinâmicos / Douglas Coimbra de Andrade.

São José dos Campos, 2005.059f.

Trabalho de Graduação - Divisão de Engenharia Mecânica-Aeronáutica -Instituto Tecnológico de Aeronáutica, 2005. Orientador: Prof. Dr. Alberto Adade Filho.

1. Identificação Paramétrica. 2. Modelagem Matemática. 3. Sistemas Dinâmicos. I. Douglas Coimbrade Andrade. 11.Centro Técnico Aeroespacial. Instituto Tecnológico de Aeronáutica. Divisão deEngenharia Mecânica-Aeronáutica.

REFERÊNCIA BIBLIOGRÁFICA

ANDRADE, Douglas Coimbra de. Identificação Paramétrica de Sistemas Dinâmicos. 2005. 59. Trabalho de

Conclusão de Curso. (Graduação) - Instituto Tecnológico de Aeronáutica, São José dos Campos.

CESSÃO DE DIREITOS

NOME DO AUTOR: Douglas Coimbra de Andrade

TÍTULO DO TRABALHO: Identificação Paramétrica de Sistemas Dinâmicos

TIPO DO TRABALHO/ANO: Graduação / 2005

É concedida ao Instituto Tecnológico de Aeronáutica permissão para reproduzir cópias deste trabalhode graduação e para emprestar ou vender cópias somente para propósitos acadêmicos e científicos.O autor reserva outros direitos de publicação e nenhuma parte desta monografia de graduação podeser reproduzidasema autorizaçãodo autor. .

Dougl~~Coimbra de AndradeRua O~carReinaldo, 661. B. ProgressoCEP 36.400-000Cons. Lafaiete - MG

Page 4: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

IDENTIFICAÇÃO P ARAMÉTRICA DE SISTEMAS DINÂMICOS

Essa publicação foi aceita como Relatório Final de Trabalho de Graduação

.':)..

Douglas Coimbra de AndradeAutor

Prof. Dr. Alberto Adade Filho (ITA)Orientador

's Gonzaga Trabassourso1le Engenharia Mecânica-Aeronáutica

São José dos Campos, 21 de novembro de 2005

Page 5: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

AGRADECIMENTOS

A Deus, pois sem Ele nada é possível.

Agradeço a todos que, direta ou indiretamente, contribuíram com minha formação pessoal e

profissional.

Page 6: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

RESUMO

A determinação de parâmetros de modelos de sinais é uma questão de relevo e etapa

essencial da análise em vários campos do conhecimento, possibilitando que o engenheiro, o

pesquisador ou o profissional em geral concluam investigações e cálculos sobre o objeto de

estudo através de simulações computacionais, por exemplo. Este trabalho focaliza a

identificação paramétrica por mínimos quadrados, de um ponto de vista não amplamente

tratado na vasta literatura técnica disponível sobre o assunto, trazendo contribuição ao tema.

Em especial, considera-se o problema de identificação de parâmetros que se apresentam em

várias equações de um modelo de múltiplas equações. Nessa perspectiva e contexto, é

desenvolvido um software para a identificação de modelos de sinais e sistemas discretos e

contínuos no tempo, utilizando um ambiente computacional de cálculo e visualização de

engenharia denominado McLabEn®, também desenvolvido pelo autor. O trabalho discute

ainda técnicas de discretização e filtragem para a adequação de modelos e dados para a

identificação pelo método implementado. Alguns estudos simulados são realizados,

focalizando aplicações específicas e relevantes de identificação de modelos, como a da

dinâmica lateral de uma aeronave, entre outras, tanto no sentido de validar o software como

para atestar a qualidade dos resultados obtidos e revelar as limitações da abordagem. O

trabalho é concluído com sugestões para trabalhos que aprofundam as investigações e refinam

a abordagem utilizada.

Page 7: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

ABSTRACT

Parameter estimation for models and signals is an important issue for analysis in many

subjects, allowing the engineer, researcher or, more generally, the professional to investigate

and get numerical results about what is being studied by means of computational simulation,

for example. This work focus parametric identification by using least squares method, from a

point not extensively treated in the vast technical literature available about the subject,

bringing contribution to the subject. The main problem considered is about parameter

identification for parameters that appear in more than one equation in a model of multiple

equations. In this context, a software is developed for identification of models and signals of

discrete and continuous-time systems, using an environment for numerical simulation and

engineering visualization called McLabEn®, also developed by the author. The work also

discusses techniques for discretization and filtering to set up models an data for being

identified by the implemented method. Some simulated studies are done, focusing on specific

and relevant uses on model identification, such as aircraft behavior, among others, to validate

the software, show the results and reveal the limitations of the method. The conclusion is

about suggestions for future work which will deepen the investigations and improve the

presented method.

Page 8: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

I. Lista de Ilustrações

Figura 4-1 - Tela de Identificação de Sistemas Discretos ........................................................10

Figura 4-2 - Gráfico comparativo entre dados reais e dados estimados pelo método de

mínimos quadrados...........................................................................................................13

Figura 4-3 - Identificação de Sistema ARX Gerado pelo MATLAB®.....................................15

Figura 5-1 - Identificação Sem Filtragem de Sistema de Segunda Ordem .............................19

Figura 5-2 - Resultado da Identificação Sem Filtragem...........................................................19

Figura 5-3 - Ajuste polinomial por mínimos quadrados para a posição real do sistema..........24

Figura 5-4 - Posição, velocidade e aceleração estimados com base em dados de posição com

ruído..................................................................................................................................24

Figura 6-1 - Evolução temporal de sistema discreto ................................................................26

Figura 6-2 - Modelo para Identificação do Sistema de Crescimento Populacional .................28

Figura 6-3 - Simulação de um sistema massa-mola-amortecedor............................................31

Figura 6-4 - Resposta ao degrau de um sistema massa-mola, com ruído.................................32

Figura 6-5 - Simulação de um Sistema Massa-Mola com Dois Graus de Liberdade...............34

Figura 6-6 - Aplicação do Módulo de Identificação para um Sistema Massa-mola com Dois

Graus de Liberdade...........................................................................................................35

Figura 6-7 - Modelo Simulink para Simulação da Dinâmica Lateral de um Avião.................36

Figura 6-8 - Identificação da Dinâmica Lateral do Avião (Matrizes A e B)............................38

Figura 6-9 - Resultado da Identificação da Dinâmica Lateral (Matrizes A e B)......................39

Figura 6-10 - Identificação da Dinâmica Lateral do Avião (Matriz A)....................................40

Figura 6-11 - Resultado da Identificação da Dinâmica Lateral (Matriz A)..............................41

Figura B-1 - Simulação de um Sistema Massa-Mola-Amortecedor no McLabEn...................46

Figura B-2 - Efeitos não desejados do ajuste polinomial por OLS na velocidade e aceleração

estimadas a partir de dados de posição com ruído............................................................50

Figura C-1 - Utilização do identificador de sistemas McLabEn para estimar parâmetros de um

sistema massa-mola-amortecedor usando discretização pelo método Euler-Backwards.51

Figura C-2 - Utilização do identificador de sistemas McLabEn para estimar parâmetros de um

sistema massa-mola-amortecedor usando aproximação de posição por mínimos

quadrados..........................................................................................................................52

Page 9: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.
Page 10: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

II. Lista de Abreviaturas, Siglas e Símbolos

β̂ Estimador de β ESS Error Sum of Squares k Número de parâmetros a serem estimados N Número de amostras das variáveis dependentes e independentes OLS Ordinary Least Squares Q Número de equações do modelo RSS Residual Sum of Squares TSS Total Sum of Squares X Vetor de observações de variável independente Y Vetor de observações de variável dependente β Vetor de parâmetros desconhecidos McLabEn Matemática Computacional – Laboratório em Engenharia e Ciências T Período de amostragem ε Vetor de erros

Page 11: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

III. Sumário

1. Introdução...........................................................................................................................1

2. Introdução à Modelagem Experimental .............................................................................1

2.1 Tipos de Modelos .......................................................................................................3

3. Identificação de Sistemas ...................................................................................................3

3.1 Métodos Determinísticos............................................................................................3

3.2 Métodos Não-Paramétricos ........................................................................................4

4. Identificação Paramétrica de Sistemas Discretos ...............................................................4

4.1 O Método dos Mínimos Quadrados ...........................................................................4

4.1.1 Formulação Clássica...........................................................................................4

4.1.2 Formulação para Múltiplas Equações.................................................................5

4.1.3 Formulação para Múltiplas Saídas .....................................................................7

4.2 Condições para Aplicação do Método de Mínimos Quadrados .................................9

4.3 Descrição do Módulo de Identificação.......................................................................9

4.3.1 Exemplo de Identificação de Sinais .................................................................11

4.3.2 Identificação de Sistema ARX (Comparação com MATLAB®)......................13

5. Identificação de Sistemas Dinâmicos Contínuos..............................................................16

5.1 Discretização do Modelo..........................................................................................16

5.1.1 Métodos de Euler..............................................................................................16

5.1.2 Transformação Bilinear ....................................................................................17

5.1.3 Efeito do Ruído na Identificação de Sistemas ..................................................18

5.2 Filtragem Digital ......................................................................................................20

5.2.1 Filtragem no Domínio da Freqüência...............................................................20

5.3 Método de Aproximação por Mínimos Quadrados ..................................................23

6. Aplicações ........................................................................................................................25

6.1 Crescimento Populacional ........................................................................................25

6.1.1 Funções McLabEn para Simulação do Crescimento Populacional ..................28

6.2 Identificação de Sistema Massa-Mola......................................................................30

6.3 Identificação de Sistema Massa-Mola com Dois Graus de Liberdade.....................33

6.4 Identificação da Dinâmica Lateral de uma Aeronave ..............................................36

7. Contribuições Futuras.......................................................................................................41

8. Conclusão .........................................................................................................................42

9. Referências Bibliográficas................................................................................................42

Page 12: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Apêndice A Demonstrações do Item Formulação para Múltiplas Equações........................44

A.1 Minimização de ESS ................................................................................................44

A.2 Não-tendenciosidade do estimador...........................................................................44

Apêndice B Simulação de um Sistema Massa-Mola-Amortecedor no McLabEn ...............45

B.1 Simulação do Sistema...............................................................................................45

B.2 Filtragem e Análise do Resultado Simulado ............................................................47

B.3 Aproximação por Mínimos Quadrados ....................................................................47

Apêndice C Estimação de Parâmetros do Sistema Massa-Mola ..........................................51

C.1 Método de Euler .......................................................................................................51

C.2 Mínimos Quadrados .................................................................................................51

Apêndice D Implementação do Algoritmo de Mínimos Quadrados ......................................53

Anexo - Guia de Referência do Software McLabEn® v1.33

Page 13: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

1

1. Introdução

A identificação de sistemas é fundamental para o desenvolvimento de modelos

computacionais confiáveis. O desenvolvimento de um bom modelo não é uma tarefa

simples, pois os critérios para a escolha do modelo dependem de sua aplicação, i.e., do que

se deseja prever com o modelo. Dessa forma, por exemplo, um modelo completo de

instalações hidráulicas de uma companhia deve utilizar modelos simplificados para

bombas, atuadores e válvulas, enquanto o projeto de uma única válvula deveria considerar

todas as suas nuances, especialmente para verificar quanto seu comportamento se desvia do

previsto para uma válvula ideal.

O escopo de aplicação da identificação de sistemas é muito amplo e abrange desde

aplicações nos mais variados ramos da engenharia (aeronáutica, mecânica etc.) até modelos

microeconômicos e macroeconômicos.

Este trabalho objetiva desenvolver uma ferramenta computacional para automatizar o

processo de identificação de sistemas dinâmicos, utilizando uma adaptação do método dos

mínimos quadrados sem ponderação (OLS), bem como a realização de estudos sobre sua

aplicabilidade, através de modelos simulados.

Os cálculos e gráficos apresentados nesse trabalho foram efetuados e gerados no

ambiente McLabEn® 1.

2. Introdução à Modelagem Experimental

A modelagem experimental constitui ramo do conhecimento dedicado a desenvolver,

implementar e validar modelos matemáticos de sistemas reais.

1 Nota: Software para apoio ao cálculo e visualização de engenharia desenvolvido pelo autor e registrado para

garantia de todos os direitos de uso e comercialização.

Page 14: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

2

Um modelo matemático é uma representação de um sistema físico real.

Evidentemente, o modelo não é o sistema. É impossível obter representação perfeita. O que

deve balizar a construção do modelo?

Idealmente, a representação matemática de um sistema deve ser a mais simples que

permita prever seu comportamento com o nível de detalhes desejado.

Considere-se o sistema constituído por um pêndulo suspenso por um fio, o conhecido

pêndulo simples, para considerações qualitativas. O modelo matemático mais utilizado para

representá-lo é a equação de um oscilador harmônico, em que x(t) é a posição horizontal do

pêndulo, L é o comprimento do fio e g é o valor da gravidade local:

)()(2

2

txLg

dttxd

−=

Eq. 2.1-1

No entanto, esse modelo traz, entre outras, importantes simplificações, a saber:

1 – O modelo considera pequenos deslocamentos angulares;

2 – Desconsidera a flexibilidade e a massa do fio;

3 – A resistência do ar ao movimento do pêndulo também é desconsiderada;

4 – O pêndulo nem sempre se desloca em um mesmo plano de movimento.

Se o que se deseja saber é apenas o período do pêndulo, sendo válidas as hipóteses

apresentadas, o modelo usual permite aproximação aceitável. Por outro lado, se se deseja

estimar a variação na tensão no fio com o tempo, pode ser necessário considerar a

elasticidade do fio.

Em resumo, o modelo matemático do sistema está intimamente relacionado às

informações que ele deve fornecer sobre o sistema.

Page 15: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

3

2.1 Tipos de Modelos

Um importante critério de classificação dos modelos matemáticos é sua relação com

a física ou natureza do processo:

Modelagem caixa-branca: relacionada à física ou natureza do processo; utilizada em

estudos teóricos de sistemas ou em processos cuja física é bem conhecida.

Modelagem caixa-preta: não relacionada à física do processo; nem todos os

processos são conhecidos, e nem sempre é possível associar um modelo físico ao sistema

real.

Modelagem caixa-cinza: o modelo contempla uma parte relacionada à física do

processo e uma parte sem esse vínculo. Trata-se de uma importante modelagem

experimental, pois a maioria dos processos possui comportamentos conhecidos e

desconhecidos.

Grosso modo, quanto mais desconhecido ou imprevisível for o sistema, mais seu

modelo tenderá a ser caixa-preta.

Nesse ponto, é necessário não estigmatizar a modelagem caixa-preta de “ruim” e a

modelagem caixa-branca de “boa”, como pode parecer à primeira vista. É necessário ter em

mente que os requisitos de um bom modelo são a possibilidade de utilizá-lo para prever o

comportamento do sistema e a simplicidade.

3. Identificação de Sistemas

3.1 Métodos Determinísticos

Page 16: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

4

Os métodos determinísticos não dão tratamento especial aos ruídos presentes nos

dados e, por isso, só fornecem resultados bons se a relação sinal/ruído for muito alta. Pode-

se citar entre esses métodos a identificação de modelos de primeira e segunda-ordem de

sistemas LTI com base na resposta a degrau ou com base na resposta em freqüência [3].

3.2 Métodos Não-Paramétricos

Os métodos não-paramétricos constituem um conjunto de técnicas de identificação

que não resultam em um modelo matemático como uma função de transferência. Seu

resultado é uma representação gráfica que caracteriza a dinâmica do sistema em questão.

Exemplos típicos são a resposta ao impulso e a resposta em freqüência. As técnicas mais

comuns são as funções de correlação [3].

4. Identificação Paramétrica de Sistemas Discretos

4.1 O Método dos Mínimos Quadrados

4.1.1 Formulação Clássica

Considere-se o modelo linear

εβ += XY

Eq. 4.1-1

em que: N é o número de medições das variáveis;

k é a quantidade de parâmetros a serem estimados;

[Y]Nx1 é o vetor coluna das observações da variável dependente;

[X]Nxk é a matriz de observações da variável independente;

[β]kx1 é o vetor coluna de parâmetros desconhecidos;

[ε]Nx1 é o vetor coluna de erros.

Page 17: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

5

Assumindo que:

(i) A variável dependente [Y] é explicada pela equação linear do modelo;

(ii) Os elementos de [X] são fixos, têm variância finita e a matriz [X] tem posto k

menor ou igual ao número de observações N;

(iii) [ε] tem distribuição normal com E(ε) = 0 e E(ε’ε) = σ2[I]NxN, em que [I]NxN é a

matriz identidade NxN;

O estimador que minimiza a soma dos resíduos quadráticos ESS = ε’ε é: β̂

( ) YXXX ''ˆ 1−=β

Eq. 4.1-2

Nessas condições, o estimador é BLUE (Best Linear Unbiased Estimator –

Melhor Estimador Linear Não-tendencioso). A formulação do problema e a demonstração

dessas e outras propriedades podem ser encontrados em [2].

β̂

4.1.2 Formulação para Múltiplas Equações

A Formulação Clássica tem uma importante limitação: identificar modelos em que

um ou mais parâmetros em mais de uma equação. Tome-se um exemplo simples: seja o

sistema

⎩⎨⎧

++=++=

2

1

εε

kkk

kkk

cybxwbyaxz

Eq. 4.1-3

Na Eq. 4.1-3, xk e yk são variáveis independentes, zk e wk são variáveis dependentes,

[a b c]’ é o vetor de parâmetros desconhecidos e ε1 e ε2 são erros aleatórios. Qual seria o

melhor estimador para a, b e c?

Page 18: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

6

Poder-se-ia sugerir: por que não aplicar o método de mínimos quadrados na primeira

equação e, após, na segunda equação? Isso é possível. No entanto, na presença de erros

aleatórios, serão obtidos dois valores distintos para b, e não há garantias sobre a qualidade

desses valores.

Essa limitação é contornável definindo-se a seguinte formulação:

Considere-se o modelo linear

iii XY εβ += , i = 1, 2, ..., Q

Eq. 4.1-4

em que: Q é a quantidade de equações do modelo;

N é o número de medições das variáveis;

k é a quantidade de parâmetros a serem estimados;

[Yi]Nx1 é o vetor coluna das observações da variável dependente na i-

ésima equação;

[Xi]Nxk é a matriz de observações da variável independente na i-ésima

equação;

[β]kx1 é o vetor coluna de parâmetros desconhecidos;

[εi]Nx1 é o vetor coluna de erros na i-ésima equação.

Assumindo que:

(i) As variáveis dependentes [Yi] são explicadas pelas equações lineares do

modelo;

(ii) Os elementos de [Xi] são fixos, têm variância finita e as matrizes [Xi] têm

posto k menor ou igual ao número de observações N;

(iii) Os [εi] têm distribuição normal com E(εi) = 0 e E(εi’εi) = σi2[I]NxN, em que

[I]NxN é a matriz identidade NxN;

O método de mínimos quadrados deve minimizar a soma dos resíduos quadráticos:

Page 19: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

7

∑=

=Q

iiiESS

1

'εε

Eq. 4.1-5

O estimador que minimiza o novo ESS é (v. Apêndice A - Demonstrações do Item

Formulação para Múltiplas Equações):

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡= ∑∑

=

=

Q

iii

Q

iii YXXX

1

'1

1

'β̂

Eq. 4.1-6

O estimador assim obtido minimiza o ESS e é não-tendencioso. Esse método foi

implementado para utilização no módulo de Identificação de Sistemas do software

McLabEn®.

4.1.3 Formulação para Múltiplas Saídas

Uma formulação para utilização do método de mínimos quadrados em sistemas com

múltiplas saídas é encontrada em [5]: seja o sistema descrito pelo sistema

pnpppp

n

xxxy

xxxy

θθθ

θθθ

+++=

+++=

K

M

K

2211

112211111

Eq. 4.1-7

Considere-se um conjunto de m medidas obtidas do sistema nos instantes t1, t2, ..., tm.

As equações acima podem ser rearranjadas na forma

Θ= XY

Eq. 4.1-8

Page 20: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

8

Em que

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

=

)(

)2()1(

)(

)2()1(

mx

xx

X

my

yy

YrM

r

r

rM

r

r

Eq. 4.1-9

Nessas condições, a solução de mínimos quadrados para o sistema é:

YXXX ')'(ˆ 1−=Θ

Eq. 4.1-10

Analisando essa formulação, verifica-se que ela, de fato, permite a identificação de

sistemas com múltiplas entradas e múltiplas saídas. No entanto, suponhamos que fosse

sabido, a priori, com base no conhecimento da física do problema, que dois elementos θij

fossem iguais (por exemplo, uma constante de mola que aparece em duas equações distintas

do modelo). A forma de construção apresentada não contempla essa possibilidade. A

formulação para Múltiplas Equações (Eq. 4.1-2), por outro lado, consegue satisfazer esse

requisito.

Adicionalmente, a formulação para Múltiplas Saídas pode ser obtida a partir do

formato da Eq. 4.1-4, bastando para isso observar que o vetor β, nesse caso, teria dimensão

n vezes p:

[ ]npnp θθθθβ KKK 1111=

Eq. 4.1-11

Page 21: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

9

Dessa forma, conclui-se que a formulação para Múltiplas Saídas é um caso particular

da formulação para Múltiplas Equações, limitada a sistemas em que um mesmo parâmetro

desconhecido não aparece em mais de uma equação.

4.2 Condições para Aplicação do Método de Mínimos Quadrados

O método implementado neste trabalho pode ser aplicado para identificação de

parâmetros em modelos discretos ou contínuos (discretizados), desde que o modelo seja

fornecido no espaço de estados e seja linear nos parâmetros a serem identificados.

Por exemplo, não seria possível identificar os parâmetros a e b no sistema descrito

pela equação:

abxdtdxb

dtxd

+=2

2

Eq. 4.2-1 Equação diferencial linear, não-linear nos parâmetros a e b

Por outro lado, é possível identificar os parâmetros a e b em uma equação diferencial

não-linear, desde que a equação seja linear em a e b, tal como:

axdtdxbx

dtxd

+=2

2

Eq. 4.2-2 Equação diferencial não-linear, linear nos parâmetros a e b

4.3 Descrição do Módulo de Identificação

O módulo de identificação resolve as equações lineares utilizadas para a estimação de

parâmetros utilizando o método de mínimos quadrados, segundo a formulação apresentada

na seção 4.1.2.

Page 22: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

10

Figura 4-1 - Tela de Identificação de Sistemas Discretos

Em relação à tela mostrada na figura Figura 4-1:

• Nomes dos parâmetros desconhecidos: vetor de parâmetros desconhecidos a ser

identificado pelo sistema. Esse vetor não é utilizado nos cálculos. Apenas dá

nome aos parâmetros na resposta retornada.

• Parâmetros conhecidos/medidos: São os valores conhecidos que serão

utilizados na identificação. Se não forem valores escalares, devem ter a mesma

dimensão. Neste trabalho, será utilizada a opção Importar..., para importar a

variável da tela principal do software. O módulo de identificação é utilizado

apenas para a realização dos cálculos.

Equações do modelo do sistema: Equações que descrevem o modelo considerado.

Podem ser consideradas várias equações, pois o software está construído para múltiplas

equações.

Page 23: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

11

Análises: Apresenta gráficos e os valores estimados para os parâmetros.

4.3.1 Exemplo de Identificação de Sinais

Considere-se a seguinte tabela de dados:

t x y 0 0,96 4,06 1 4,10 2,00 2 13,48 6,10 3 27,28 15,60 4 48,51 32,84 5 73,70 53,91 6 112,34 84,40 7 151,17 120,22 8 197,34 162,51 9 248,70 207,20 10 309,70 247,34

Vai-se utilizar o módulo de identificação para ajustar um modelo polinomial para x e y

em função de t. Suponha-se, também, que é sabido que o coeficiente de t2 é o mesmo para x

e y. Em uma situação real, isso pode representar, por exemplo, a constante elástica de uma

mola que aparece em mais de uma equação diferencial do modelo.

Em primeiro lugar, declaram-se as variáveis no ambiente McLabEn®:

t=[0 1 2 3 4 5 6 7 8 9 10]

x=[0.96 4.10 13.48 27.28 48.51 73.70 112.34 151.17 197.34

248.7 309.7]

y=[4.06 2.00 6.10 16.60 32.84 53.91 84.40 120.22 162.51

207.20 247.34]

Page 24: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

12

O próximo passo é abrir o módulo de identificação. Clicando em Importar..., escolhem-

se as variáveis t, x e y (uma a uma). Importadas as variáveis, escreve-se o modelo. Será

feito o seguinte ajuste: x=kt2+c1t+c2, y=kt2+b1t+b2.

Parâmetros desconhecidos: [k c1 c2 b1 b2]

As equações do modelo do sistema são:

x=[t*t t 1 0 0]

y=[t*t 0 0 t 1]

Escritas as equações do modelo, basta clicar no botão Estimar Parâmetros:

[k c1 c2 b1 b2] = [3.00 0.75 -0.90 -4.90 -4.55]

O indicador R2 para este modelo gerou resultado 0,9996, indicando excelente aderência

dos dados ao modelo proposto.

O gráfico a seguir, que pode ser visualizado clicando no botão Gráficos, mostra o

resultado da estimativa:

Page 25: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

13

Figura 4-2 - Gráfico comparativo entre dados reais e dados estimados pelo método de mínimos

quadrados

4.3.2 Identificação de Sistema ARX (Comparação com MATLAB®)

Considere-se o problema de identificar o sistema ARX gerado no MATLAB® com os

comandos:

A = [1 -1.5 0.7]; B = [0 1 0.5];

m0 = idpoly(A,B);

u = iddata([],idinput(300,'rbs'));

e = iddata([],randn(300,1));

y = sim(m0, [u e]);

z = [y,u];

Esse sistema é o exemplo do MATLAB® para utilização do comando do ARX, que faz

parte do System Identification Toolbox. Gerados os dados, o problema consiste em

recuperar os coeficientes dos polinômios A(q) e B(q):

Page 26: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

14

>> m = arx(z,[2 2 1])

Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t)

A(q) = 1 - 1.481 q^-1 + 0.6831 q^-2

B(q) = 0.9338 q^-1 + 0.4582 q^-2

O resultado mostrado foi obtido no ambiente MATLAB®. A mesma identificação será

feita utilizando-se o Módulo de Identificação.

Em primeiro lugar, os dados são exportados para um arquivo texto com os seguintes

comandos MATLAB®:

>> UU=z.u;

>> YY=z.y;

>> ZZ=[UU YY]

>> save('c:\dados.txt','ZZ','-ASCII')

Após esse procedimento, os dados no formato texto são importados para o ambiente

McLabEn® utilizando-se o comando “Importar Variáveis do Arquivo”. Em seguida, são

importadas para o Módulo de Identificação (v. Guia de Referência McLabEn®). Por fim, os

vetores u e y são atrasados 2 instantes de tempo (gerando os vetores atrasados um1, um2,

ym1 e ym2).

O modelo ARX acima pode ser reescrito na seguinte forma:

221122110 −−−− −−++= kkkkkk yayaubububy

Eq. 4.3-1 Modelo ARX

A entrada exógena é o vetor uk e a saída é o vetor yk. A figura a seguir mostra a

utilização e o resultado gerados pelo módulo para os dados exportados:

Page 27: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

15

Figura 4-3 - Identificação de Sistema ARX Gerado pelo MATLAB®

O resultado da identificação mostrou-se tão satisfatória quanto o resultado obtido pelo

comando ARX, conforme resume a tabela a seguir:

Variável Valor Esperado Valor Obtido no MATLAB® (V1)

Valor Obtido no Módulo de

Identificação (V2)

Diferença (V2-V1)/V1 (módulo)

b1 1 0.9338 0.9365 0.2% b2 2 0.4582 0.4527 1.2% a1 -1.5 -1.481 -1.481 0.0% a2 0.7 0.6831 0.6817 0.2%

Page 28: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

16

5. Identificação de Sistemas Dinâmicos Contínuos

A identificação de sistemas dinâmicos contínuos no tempo passa pela discretização

do modelo contínuo do sistema, tendo em vista que não é possível armazenar uma

quantidade infinita de pontos. O tratamento computacional de informações requer o

armazenamento e processamento de matrizes e vetores de dimensão finita.

Os processos de discretização de modelos dinâmicos contínuos envolvem o cálculo

numérico das derivadas de um vetor de observações. Os métodos mais aplicados para essa

discretização são os métodos de Euler e a transformação bilinear. A limitação desses

métodos reside em sua enorme sensibilidade a ruídos.

Em vez de aproximar as derivadas dos vetores observados simplesmente por uma

função auto-regressiva, uma proposta seria ajustar um polinômio à curva e calcular a

derivada desse polinômio ajustado. Essa abordagem é utilizada e investigada neste trabalho.

5.1 Discretização do Modelo

5.1.1 Métodos de Euler

Os métodos de Euler consistem em aproximar linearmente a derivada de uma função

amostrada no tempo. Dois tipos principais de aproximação são: “backward” e “forward”:

)(11−−= kk xx

Tdtdx

Eq. 5.1-1

“backward”

)(11 kk xx

Tdtdx

−= +

Eq. 5.1-2

“forward”

Em Eq. 5.1-1 e Eq. 5.1-2, T é o período de amostragem do sinal. Na identificação de

sistemas, os vetores de observação são conhecidos e é necessário estimar suas derivadas

Page 29: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

17

para aplicação do método de mínimos quadrados implementado. Considere-se, por

exemplo, um sistema massa-mola-amortecedor, cuja equação diferencial é dada por:

)()()()( 2

2

tcxtdtdxbt

dtxdmtu ++=

Eq. 5.1-3

em que: m é a massa do corpo;

b é a constante de amortecimento;

c é a constante de mola;

u(t) é a força externa aplicada no corpo;

x(t) é a posição do corpo.

Utilizando o método de Euler com aproximação “backward” para discretizar essa

equação com período de amostragem T, obtém-se que:

kkkkkkk cxxxTbxxx

Tmu +−++−= −−− )()2( 1212

Eq. 5.1-4

Para identificar esse sistema, portanto, aproximam-se velocidade e aceleração,

respectivamente, por xk – xk-1 e xk – 2xk-1 + xk-2.

Entretanto, a variável amostrada xk é medida e, inevitavelmente, sua medição é

contaminada por ruído. Para melhorar a qualidade da estimativa paramétrica, é

recomendável minimizar o efeito do ruído sobre xk e suas derivadas. Para isso, torna-se

necessário utilizar um processo de filtragem.

5.1.2 Transformação Bilinear

Uma das abordagens mais utilizadas para a discretização de sistemas dinâmicos

contínuos é a tranformação bilinear ([3]). Considerem-se duas seqüências: xk e sua integral,

Page 30: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

18

yk. Utilizando o método dos trapézios para a integração, e sendo T o período de

amostragem dos sinais, tem-se:

)(2 11 −− ++= kkkk xxTyy , k = 2, 3, ..., n

Eq. 5.1-5

A função de transferência no domínio-z entre x e y é:

⎟⎠⎞

⎜⎝⎛

+−

=112)(

zz

Tz

XY

Eq. 5.1-6

que é a fórmula da transformação bilinear. No domínio-s, o integrador é dado por 1/s.

Dessa forma, uma função de transferência G(s) pode ser levada para o domínio discreto

calculando-se ⎟⎟⎠

⎞⎜⎜⎝

⎛⎟⎠⎞

⎜⎝⎛

+−

112

zz

TG .

5.1.3 Efeito do Ruído na Identificação de Sistemas

Quando é necessário calcular derivadas de um sinal, a presença de ruído pode ser

amplificada de forma a não permitir uma correta identificação do sistema. A identificação

sem filtragem dos dados simulados y(t), resposta ao degrau de 100N de um sistema massa-

mola-amortecedor com parâmetros unitários, apresentado a seguir, não gera bons

resultados.

Page 31: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

19

Figura 5-1 - Identificação Sem Filtragem de Sistema de Segunda Ordem

O resultado da identificação do modelo é mostrado a seguir:

Figura 5-2 - Resultado da Identificação Sem Filtragem

Page 32: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

20

Esse resultado mostra valores aceitáveis para amortecimento e constante de mola,

mas apresenta um resultado fisicamente impossível para a massa.

5.2 Filtragem Digital

O objetivo da filtragem é, fundamentalmente, remover ruídos de sinais. O efeito ideal

desejado de um filtro seria que, dado o espectro de um sinal, a passagem pelo filtro

mantivesse todas as componentes do sinal na faixa de freqüência desejada e igualasse a

zero todas as outras componentes de freqüência do sinal. O filtro G(jω) ideal para uma

faixa de freqüência de interesse no intervalo [a, b] seria:

( ) (⎩⎨⎧

><≤≤

=boua

bajG

ωωω

ω,0

,1)( )

Eq. 5.2-1

Nas aplicações em identificação de sistemas, usualmente a faixa de interesse é

delimitada pelas freqüências relevantes no próprio sistema. Por exemplo, considere-se uma

amostra de dados de entrada medida no comando de um piloto sobre um avião. Se o sinal

medido contiver sinais de freqüência maior do que 0,1 Hz, não é razoável atribuir essas

componentes ao comando do piloto, mas sim a ruídos presentes no sistema, que

evidentemente não foram comandados nem podem ser controlados.

5.2.1 Filtragem no Domínio da Freqüência

Neste tópico, será proposta uma abordagem para filtragem no domínio da freqüência.

A função McLabEn® que utiliza a idéia é denominada passabaixas, e está explicada no

final deste tópico.

Page 33: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

21

Um filtro ideal deveria ter o seguinte comportamento: dado um sinal f(t) corrompido

com ruído, seja sua transformada de Fourier a função F(ω). Deseja-se eliminar do espectro

as freqüências acima de um valor ωcorte.

Considerando que F(ω) contém todas as componentes de freqüência de f(t), a função

G(ω) (transformada de Fourier do sinal na saída do filtro) é definida por:

⎩⎨⎧

>≤

=corte

corteFG

ωωωωω

ω||,0

||),()(

Eq. 5.2-2

Observe-se que G(ω) contém todas as freqüências do sinal em f(t), exceto aquelas

maiores do que ωcorte. A função desejada é, portanto, g(t), ou seja, a transformada de

Fourier inversa de G(ω).

No entanto, esse procedimento deve ser aplicado a dados amostrados. Assim, não é

possível utilizar a transformada de Fourier contínua e é necessário utilizar a DFT

(transformada discreta de Fourier), implementada através do algoritmo de FFT. Utilizando-

se esse raciocínio, foi implementada a função passabaixas:

function passabaixas(x;T;fcorte)

//x: função a ser filtrada

//T: freqüência de amostragem

//fcorte: freqüência de corte, em Hz

Fx=FFT(x)

n=numcolunas(Fx)

//calcula a partir de qual termo vai zerar

temp=1+fcorte*n*T

indcorte=ceil(temp)

Page 34: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

22

//copia Fx

Fxfilt=Fx

//zera termos acima de fcorte corte(se possível)

if indcorte<=0.5*n then

for k=indcorte to n+2-indcorte

Fxfilt(1;k)=0

endfor

endif

xfilt=iFFT(Fxfilt)

//plota

nx=numcolunas(x)

for k=1 to nx

resp(k)=Re(xfilt(1;k))

endfor

t=linspace(1;nx;nx)

plot(Dados originais;t;x;Dados filtrados;t;resp)

return resp

end function

Adicionalmente, a função passabaixas faz um gráfico mostrando os dados

originais e os dados filtrados. Isso permite ao usuário ajustar a freqüência de corte do filtro

de modo que esta elimine o mínimo de informação relevante ao filtrar o ruído.

Page 35: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

23

O processo de filtragem merece maiores investigações sobre os efeitos de aliasing e

do janelamento utilizados. Esse estudo constitui um tópico fora do escopo deste trabalho.

5.3 Método de Aproximação por Mínimos Quadrados

Para contornar o problema de amplificação de erros introduzido no cálculo das

derivadas pelos efeitos do ruído, propõe-se neste trabalho uma nova forma de cálculo

numérico.

Considere-se uma amostra de 201 pontos da resposta ao degrau unitário de um

sistema massa-mola-amortecedor de massa, constante de amortecimento e constante de

mola unitárias, simulado com condições iniciais nulas até o instante de tempo 10 s e

contaminado por ruído.

Os algoritmos e métodos numéricos desse item podem ser encontrados no Apêndice

B - Simulação de um Sistema Massa-Mola-Amortecedor no McLabEn.

Em vez de tentar aproximar a derivada da posição utilizando fórmulas recursivas,

pode ser interessante utilizar o método de mínimos quadrados (OLS) para ajustar um

polinômio aos dados obtidos para a posição. Após esse ajuste, o cálculo das derivadas

resume-se a derivar polinômios, uma forma muito mais estável de minimizar os efeitos do

ruído.

A ordem do polinômio a ser utilizado deve variar de acordo com a quantidade de

pontos extremos presentes no sinal, sendo maior quando houver mais pontos extremos.

Uma investigação mais aprofundada sobre os melhores métodos de interpolação fica como

sugestão para contribuições futuras.

No caso da resposta simulada, fazendo um ajuste com polinômio de ordem 15,

obtém-se o seguinte ajuste:

Page 36: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

24

Figura 5-3 - Ajuste polinomial por mínimos quadrados para a posição real do sistema

Finalmente, derivando o polinômio ajustado para x(t), é possível obter as

estimativas de velocidade e aceleração:

Figura 5-4 - Posição, velocidade e aceleração estimados com base em dados de posição com ruído

Essas estimativas são muito superiores àquelas obtidas pelos métodos de Euler. Os

valores de parâmetros obtidos pelo método de mínimos quadrados para esses valores são:

massa: 1,132, amortecimento: 1,038, constante elástica da mola: 1,006. Essa estimativa está

Page 37: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

25

muito próxima dos valores reais dos parâmetros (unitários). A utilização do módulo

McLabEn para estimação está descrita no Apêndice C - Estimação de Parâmetros do

Sistema Massa-Mola.

O exemplo apresentado ilustra a aplicação da técnica de aproximação em caráter

geral: é eficiente aproximar as curvas por mínimos quadrados e derivar o polinômio de

aproximação para fins de identificação do sistema.

Se os sinais representados pelos vetores forem muito oscilatórios, pode não ser

possível aproximar o comportamento do sistema com polinômios e talvez seja necessária

uma técnica mais refinada para estimar as derivadas dos dados. Contudo, se a aproximação

polinomial for possível, o que abrange uma enorme quantidade de casos, ela permite

excelente redução na influência de ruídos sobre o sistema.

6. Aplicações

6.1 Crescimento Populacional

Para este exemplo, far-se-á uma adaptação da fórmula geral apresentada em [4] para

uma aplicação na Biologia, idealizada.

Considere-se um sistema isolado contendo, inicialmente, ovos de um inseto. Sejam:

• O(k) – número de ovos no instante k

• L(k) – número de larvas no instante k

• A(k) – número de insetos adultos no instante k

Supondo que os ovos levem 1 instante de tempo para se tornarem larvas e as larvas

levem 1 instante de tempo para se tornarem insetos adultos, um possível modelo para o

sistema é:

Page 38: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

26

)1()1()()1()(

)1()(

−+−=−=−=

kAskLskAkOskL

kfAkO

AL

O

Eq. 6.1-1

Onde f é a taxa de fecundidade dos insetos adultos, sO é a taxa de sobrevivência dos

ovos, sL é a taxa de sobrevivência das larvas e sA é a taxa de sobrevivência dos próprios

insetos adultos de um período para o outro.

Simulando o sistema para 200 instantes de tempo, com 200 adultos iniciais, 0 larvas

e 0 ovos, com: f=1.1, sO=0.9, sL=0.6 e sA=0.4, obtém-se a seguinte evolução temporal:

Figura 6-1 - Evolução temporal de sistema discreto

Utilizando as funções descritas no final desta seção, pode-se simular o sistema e obter

os valores das seqüências O, L e A:

A=adultos(200;1.1;0.9;0.6;0.4);

Page 39: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

27

O=ovos(200;1.1;0.9;0.6;0.4);

L=larvas(200;1.1;0.9;0.6;0.4);

Para tornar o sistema mais próximo de um experimento real, será adicionado ruído

aos vetores A, O e L:

r1=0.1*(random(1;200)-0.5*uns(1;200))+uns(1;200)

r2=0.1*(random(1;200)-0.5*uns(1;200))+uns(1;200)

r3=0.1*(random(1;200)-0.5*uns(1;200))+uns(1;200)

A1=dot(A;r1)

O1=dot(O;r2)

L1=dot(O;r3)

Utiliza-se, agora, o módulo de identificação para recuperar os valores dos parâmetros

f, sO, sL e sA.

Importam-se do ambiente as variáveis A1, O1 e L1, e utiliza-se o recurso de atraso

para atrasar um instante de tempo. Após isso, utiliza-se o modelo a seguir:

Page 40: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

28

Figura 6-2 - Modelo para Identificação do Sistema de Crescimento Populacional

A execução de uma instância forneceu os valores f=1.096, sO=0.968, sL=0.644 e

sA=0.305. Mesmo na presença de ruído, o modelo foi identificado com boa precisão.

6.1.1 Funções McLabEn para Simulação do Crescimento Populacional

A seguir estão descritas as funções para simulação do sistema discreto. A única

diferença entre as funções é o vetor que retornam (as funções só podem retornar um vetor

na versão atual do software – 1.33).

function larvas(adultosinic;f;so;sl;sa)

//Retorna a quantidade de Larvas

//adultosinic é a quantidade inicial de insetos adultos

//larvas e ovos -> qtd inicial nula

n=200

t=linspace(1;n;n)

O(n)=0

L(n)=0

Page 41: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

29

A(n)=0

A(1)=adultosinic

for p=2 to n

O(p)=f*A(1;p-1)

L(p)=so*O(1;p-1)

A(p)=sl*L(1;p-1)+sa*A(1;p-1)

endfor

plot(Larvas;t;L;Ovos;t;O;Adultos;t;A)

return L

end function

function ovos(adultosinic;f;so;sl;sa)

//Retorna a quantidade de ovos

//adultosinic é a quantidade inicial de insetos adultos

//larvas e ovos -> qtd inicial nula

n=200

t=linspace(1;n;n)

O(n)=0

L(n)=0

A(n)=0

A(1)=adultosinic

for p=2 to n

O(p)=f*A(1;p-1)

L(p)=so*O(1;p-1)

A(p)=sl*L(1;p-1)+sa*A(1;p-1)

endfor

plot(Larvas;t;L;Ovos;t;O;Adultos;t;A)

return O

end function

function adultos(adultosinic;f;so;sl;sa)

//Retorna a quantidade de ovos

//adultosinic é a quantidade inicial de insetos adultos

//larvas e ovos -> qtd inicial nula

n=200

t=linspace(1;n;n)

O(n)=0

L(n)=0

A(n)=0

A(1)=adultosinic

Page 42: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

30

for p=2 to n

O(p)=f*A(1;p-1)

L(p)=so*O(1;p-1)

A(p)=sl*L(1;p-1)+sa*A(1;p-1)

endfor

plot(Larvas;t;L;Ovos;t;O;Adultos;t;A)

return A

end function

6.2 Identificação de Sistema Massa-Mola-Amortecedor

Foi utilizado o módulo de Equações Diferenciais do McLabEn para simular a resposta

ao degrau de um sistema massa-mola-amortecedor simples, com m=3, c=10 e k=100, para

uma entrada u=100 N:

Page 43: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

31

Figura 6-3 - Simulação de um sistema massa-mola-amortecedor

Foram exportados os vetores x, u e t (respectivamente: posição da massa, entrada e

tempo), com dimensões 1x2002.

Adiciona-se ruído uniformemente distribuído no intervalo [-0.05, 0.05] ao vetor x com

os comandos:

ruido=0.1*(random(1;2002)-0.5*uns(1;2002));

x=x+ruido;

O vetor x assim obtido está mostrado a seguir:

Page 44: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

32

Figura 6-4 - Resposta ao degrau de um sistema massa-mola, com ruído

A tarefa, agora, consiste em recuperar os dados de massa, constante de amortecimento

e de mola, utilizando os vetores x, u e t:

xInt=lininterp(t;x;6000);

tInt=linspace(0;2;6000);

T=tInt(1;2)

xFilt=passabaixas(xInt;T;5);

uFilt=100*uns(1;numcolunas(xFilt));

v=deriv(xFilt;T);

a=deriv(v;T);

aUt=extrair(a;1;1;1;4000);

vUt=extrair(v;1;1;1;4000);

xUt=extrair(xFilt;1;1;1;4000);

uUt=extrair(uFilt;1;1;1;4000);

As últimas quatro linhas são importantes, pois a filtragem introduziu um efeito

oscilatório inexistente nos últimos termos da seqüência, efeito provavelmente ocasionado

Page 45: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

33

pelo janelamento utilizado na função passabaixas. Esse fenômeno merece atenção

especial em contribuições futuras.

Importam-se as variáveis xUt, vUt, aUt e uUt para o módulo de identificação e

identifica-se o modelo:

uUt=[aUt vUt xUt]

Na simulação executada, os valores obtidos para as constantes foram: m=2,36;

c=10,25; k=97,28, resultados próximos dos valores simulados. Esses valores,

evidentemente, podem variar em função do ruído adicionado no vetor de posição x.

Um estudo mais detalhado do sistema envolveria a simulação de sua sensibilidade ao

ruído, de forma a avaliar a robustez do método.

6.3 Identificação de Sistema Massa-Mola-Amortecedor com Dois Graus

de Liberdade

Considere-se um sistema massa-mola-amortecedor com dois graus de liberdade,

descrito pelo sistema de equações diferenciais:

))/mx-(x(-k

))/mx-(xk-dt

dxc-xk-(u

12222

2

2121

1121

2

=

=

dtxd

dtxd

Eq. 6.3-1

Simula-se o sistema com condições iniciais nulas, excitação u = 100 N e parâmetros

unitários no módulo de equações diferenciais:

Page 46: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

34

Figura 6-5 - Simulação de um Sistema Massa-Mola com Dois Graus de Liberdade

Utilizando o comando exportar dados, é possível manipular as variáveis x1, x2, x1’

e x2’ (1x231) no ambiente de trabalho.

Supondo medidos os valores de posição e velocidade de ambas as massas, os

vetores x1, x2, x1’ e x2’ são contaminados com ruído aleatório, sempre presente em

medições.

r1=(random(1;231)-0.5*uns(1;231))*0.1+uns(1;231);

r2=(random(1;231)-0.5*uns(1;231))*0.1+uns(1;231);

r3=(random(1;231)-0.5*uns(1;231))*0.1+uns(1;231);

r4=(random(1;231)-0.5*uns(1;231))*0.1+uns(1;231);

x1n=dot(x1;r1);

Page 47: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

35

x2n=dot(x2;r2);

v1n=dot(x1';r3);

v2n=dot(x2';r3);

Em seguida, calculam-se as acelerações derivando x1’ e x2’:

a1n=deriv(v1n;0.1);

a2n=deriv(v2n;0.1);

Após esses procedimentos, basta importar x1n, x2n, v1n, v2n, a1n, a2n e u para o

módulo de identificação. Se as massas forem conhecidas, os parâmetros a serem

identificados são k1, k2 e c:

Figura 6-6 - Aplicação do Módulo de Identificação para um Sistema Massa-mola com Dois Graus de

Liberdade

Os valores obtidos nesse teste foram k1=0.991, k2=0.925 e c=0.927, divergindo para

menos dos valores utilizados mas permanecendo com boa concordância.

Page 48: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

36

A relevância deste exemplo está no fato de a constante k2 ser estimada

simultaneamente nos dois conjuntos de dados, o que não poderia ser feito aplicando duas

vezes o método de mínimos quadrados para uma única equação.

6.4 Identificação da Dinâmica Lateral de uma Aeronave

Considere-se o problema de identificar os parâmetros da dinâmica lateral de uma

aeronave, cujo modelo Simulink é apresentado a seguir ([3]):

Figura 6-7 - Modelo Simulink para Simulação da Dinâmica Lateral de um Avião

No bloco de dinâmica lateral está implementado o seguinte sistema de equações

diferenciais:

Page 49: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

37

⎥⎦

⎤⎢⎣

⎥⎥⎥⎥

⎢⎢⎢⎢

⎡−

+

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

−−−−

−−

=

⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢

2

1

4

3

2

1

4

3

2

1

001430.01530.000775.04750.0

000729.0

010805.0004650.03880.005.300318.01150.05980.0

0415.00802.09968.00558.0

uu

xxxx

dtdxdt

dxdt

dxdtdx

Eq. 6.4-1

Simulado o sistema de 0 s a 50 s e obtidos os vetores x1, x2, x3, x4, u1 e u2, com

intervalo de amostragem de 0.01 s, deve-se estimar as matrizes A e B a partir desses dados.

Os dados foram exportados para um arquivo texto utilizando-se os seguintes comandos

MATLAB®:

>> z=[x1 x2 x3 x4 u1 u2];

>> save('C:\lateral.txt','z','-ascii');

Após isso, os dados foram importados pelo Módulo de Identificação desenvolvido.

Atrasando um instante de tempo os vetores x1, x2, x3 e x4 e utilizando o método

“backwards” para a discretização do sistema contínuo, obtém-se o sistema a ser

implementado no Módulo de Identificação, mostrado a seguir:

Page 50: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

38

Figura 6-8 - Identificação da Dinâmica Lateral do Avião (Matrizes A e B)

Os resultados obtidos nessa identificação estão mostrados a seguir:

Page 51: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

39

Figura 6-9 - Resultado da Identificação da Dinâmica Lateral (Matrizes A e B)

Conforme pode-se verificar comparando o resultado apresentado com os valores

utilizados na Eq. 6.4-1, a identificação das matrizes A e B não gerou resultados corretos. O

excesso de parâmetros a serem identificados pode ser uma explicação do processo. Essa

investigação fica pendente.

Por outro lado, suponha-se conhecida a matriz B. Dessa forma, as derivadas de

estabilidade contidas na matriz A podem ser estimadas utilizando o seguinte esquema no

módulo de identificação:

Page 52: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

40

Figura 6-10 - Identificação da Dinâmica Lateral do Avião (Matriz A)

Nesse esquema de simulação, o resultado está mostrado na figura a seguir:

Page 53: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

41

Figura 6-11 - Resultado da Identificação da Dinâmica Lateral (Matriz A)

Esse resultado possui boa concordância com os valores utilizados para a simulação

(Eq. 6.4-1).

O exemplo mostrado permite concluir que, preliminarmente, é necessário saber se a

quantidade de parâmetros a serem estimados não é excessiva para o método de mínimos

quadrados implementado identificar o sistema. Não foi possível, no escopo desse trabalho,

estabelecer os melhores contornos sobre essa questão.

7. Contribuições Futuras

Este trabalho deve servir de base para a implementação de um identificador automático

de sistemas dinâmicos, que será capaz de propor modelos para ajuste de curvas e modelos

matemáticos.

Page 54: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

42

A implementação desse sistema irá exigir a utilização de mecanismos de inteligência

artificial que busquem minimizar a quantidade de variáveis no vetor de parâmetros

desconhecidos e maximizar os indicadores de qualidade da estimativa.

Também, há várias questões teóricas e práticas pendentes quanto à abordagem

implementada neste trabalho, conforme apontado ao longo do texto, que carecem de

estudos mais detalhados. Algumas respostas apresentam limitações que indicam que

precisam ser melhor trabalhadas.

8. Conclusão

Os processos de identificação são utilizados em vários ramos do conhecimento para o

desenvolvimento de modelos computacionais que permitam realizar previsões confiáveis

dentro de certos limites definidos pelo usuário.

Facilitar a proposição de modelos matemáticos e, futuramente, automatizar essa tarefa

é fundamental para reduzir o tempo gasto nessa importante tarefa.

O módulo de identificação apresentado pode ser utilizado para várias tarefas:

identificação de sistemas discretos e contínuos (discretizados), identificação de séries auto-

regressivas e mesmo modelos econométricos.

Os estudos apresentados mostram como uma ferramenta de mínimos quadrados sem

ponderação (OLS) pode ser aplicada na identificação de sistemas com modelos simulados,

apresentando um recurso útil no desenvolvimento de modelos, com aplicações promissoras

nos mais variados campos de engenharia.

9. Referências Bibliográficas

[1] Aguirre, Luis Antonio. 2000. Introdução à Identificação de Sistemas. Editora UFMG.

Page 55: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

43

[2] Pindyck, Robert S. e Rubinfeld, Daniel L. 1981. Econometric Models & Economic

Forecasts. McGraw-Hill Book Company.

[3] Adade, A. F., 1989, Análise de Sistemas Dinâmicos¸ Instituto Tecnológico de

Aeronáutica - Divisão de Engenharia Mecânica-Aeronáutica. (Ed. 3, 2003).

[4] Cadzow, James A., 1973, Discrete-Time Systems. Prentice-Hall, Inc.

[5] T. C. Hsia, 1997, System Identification: Least Squares Methods, Lexington Books

Page 56: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

44

Apêndice A Demonstrações do Item Formulação para

Múltiplas Equações

A.1 Minimização de ESS

Provar que o estimador apresentado na Eq. 4.1-6 minimiza o ESS. Considere-se o modelo

da Eq. 4.1-4. Então, de Eq. 4.1-5,

( )( ) ββββββεε ˆˆˆˆˆˆ '''''

1

'

1

'''

1

'iiiiiii

Q

iiii

Q

iii

Q

iii XXYXXYYYXYXYESS +−−=−−== ∑∑∑

===

Os pontos extremos de ESS podem ser encontrados derivando-se ESS com respeito ao

estimador e igualando a derivada a zero:

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=⇒+−= ∑∑∑

=

==

Q

iii

Q

iii

Q

iiiii YXXXXXYX

ddESS

1

'1

1

'

1

'' ˆˆ22ˆ βββ

Resta provar que o ponto extremo é, de fato, um mínimo. Com efeito:

∑=

=Q

iii XX

dESSd

1

'2

2

2β̂

Ou seja, a segunda derivada de ESS é um somatório de matrizes positivas definidas, o

que conclui a demonstração de que o estimador assim obtido, de fato, minimiza ESS.

A.2 Não-tendenciosidade do estimador

O estimador é, claramente, linear. Vai-se provar sua não-tendenciosidade.

Page 57: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

45

Deve-se mostrar que . ββ =)ˆ(E

Reescrevendo o estimador:

⎥⎦

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡=⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡= ∑∑∑∑

=

==

=

Q

iiiii

Q

iii

Q

iii

Q

iii XXXXXYXXX

1

''1

1

'

1

'1

1

'ˆ εββ

⎥⎦

⎤⎢⎣

⎡+=⎥

⎤⎢⎣

⎡+⎥

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡= ∑∑∑∑

===

=

Q

iii

Q

iii

Q

iii

Q

iii XXXXXX

1

'

1

'

1

'1

1

'ˆ εβεββ

Calcula-se agora seu valor esperado: (lembrando que E(εi) = 0 e o erro é não-

correlacionado com X)

βεβεββ ∑∑==

=+=⎟⎟⎠

⎞⎜⎜⎝

⎛⎥⎦

⎤⎢⎣

⎡+=

Q

iii

Q

iii EXXEE

1

'

1

' )()ˆ(

C.q.m.

Apêndice B Simulação de um Sistema Massa-Mola-

Amortecedor no McLabEn

B.1 Simulação do Sistema

Para simular um sistema massa-mola-amortecedor no McLabEn, basta abrir o

programa, abrir o módulo “Soluções de SEDOs” e preencher o módulo com a informação

mostrada na figura:

Page 58: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

46

Figura B-1 - Simulação de um Sistema Massa-Mola-Amortecedor no McLabEn

Após inserir os dados, basta clicar em Resolver. Os gráficos de evolução no tempo das

variáveis dinâmicas do sistema podem ser visualizados diretamente selecionando-se “Gráficos

de evolução no tempo”. Para exportar as variáveis obtidas para o ambiente numérico, basta

clicar em “Exportar dados...”.

Após simular o sistema, é necessário simular o efeito de ruído sobre a saída x. No

McLabEn, pode-se gerar um ruído uniformemente distribuído no intervalo [-0,5, 0,5] com o

comando:

erro=random(1;201)-0.5*uns(1;201)

A variável de saída simulada é:

xerr=x+0.05*erro

Page 59: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

47

Nesse caso, xerr tem uma flutuação percentual de 5% sobre seu valor final, que é

unitário. Essa simulação é compatível com resultados reais; na verdade, existem instrumentos

que permitem precisão bem maior do que a simulada.

B.2 Filtragem e Análise do Resultado Simulado

Para o cálculo da derivada, foi criada a função deriv para o ambiente McLabEn:

function deriv(vetor;T)

//Deriva o vetor. Usa o método euler-Backward

temp=1/T

deriv(numcolunas(vetor))=1E-5

for p=2 to numcolunas(vetor)

deriv(1;p)=temp*(vetor(1;p)-vetor(1;p-1))

endfor

deriv(1;1)=deriv(1;2)

return deriv

end function

O cálculo das derivadas de xerr pode ser feito por (lembrando que o intervalo de

amostragem foi especificado como 0.05):

dxerr=deriv(xerr;0.05)

d2xerr=deriv(dxerr;0.05)

B.3 Aproximação por Mínimos Quadrados

Para aproximar a resposta com ruído pelo método dos mínimos quadrados, foi criada

uma função McLabEn:

function minQuad(dadosX;dadosY;grauPoly;querPlotar)

//Ajusta um modelo polinomial para f(x)=y por OLS

//querPlotar=1: Faz grafico comparando ajuste e original

//querPlotar diferente de 1: nao faz

Page 60: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

48

//Resolve o sistema dadosY=M*[agrauPoly;(agrauPoly-1);...;a1;a0]

//matriz de coeficientes a=[agrauPoly;(agrauPoly-1);...;a1;a0]

//A matriz M tem a forma:

//[x1^graupoly x1^(grauPoly-1) ... x1³ x1² x1 1]

//[x2^graupoly x1^(grauPoly-1) ... x2³ x2² x2 1]

//[x3^graupoly x1^(grauPoly-1) ... x3³ x3² x3 1]

//Inicio

colunasX=numcolunas(dadosX)

//dimensiona a matriz M

M(colunasX;grauPoly+1)=0

//constroi a matriz M

for p=1 to colunasX

temp=1

for q=0 to grauPoly

M(p;grauPoly+1-q)=temp

temp=temp*extrair(dadosX;1;1;p;p)

endfor

endfor

//construida a matriz M. o vetor a é a pseudoinversa de M vezes dadosY:

transpM=transposta(M)

a=linsolve(transpM*M;transposta(transpM*transposta(dadosY)))

if querPlotar=1 then

//faz dois graficos.

//Um é o do polinômio ajustado, grafico com 1000 pontos

//outro é o grafico dos dados originais

tmin=extrair(dadosX;1;1;1;1)

tmax=extrair(dadosX;1;1;colunasX;colunasX)

t=linspace(tmin;tmax;1000)

ft=polyval(t;a)

plot(Dados originais;dadosX;dadosY;Polinomio ajustado;t;ft)

endif

Page 61: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

49

return a

end function

O ajuste de mínimos quadrados dos valores na variável xerr é feito com o comando:

p=minQuad(t;xerr;15;1)

Após esse ajuste, calculam-se os coeficientes dos polinômios derivados com a função

polyder:

function polyder(poly)

//deriva o polinomio

p=numcolunas(poly)

deriv(p-1)=0

for k=1 to p-1

deriv(k)=poly(1;k)*(p-k)

endfor

return deriv

end function

Comandos:

dp=polyder(p)

d2p=polyder(dp)

O cálculo dos pontos de aceleração, velocidade e posição é feito com os comandos:

t=linspace(0;10;201)

xAv=polyval(t;d2p)

vAv=polyval(t;d2p)

aAv=polyval(t;d2p)

O comando polyval também é uma função externa ao McLabEn:

function polyval(x;poly)

//avalia o valor do polinômio nos pontos do vetor x

Page 62: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

50

p=numcols(poly)

valor=uns(1;numcols(x))

r=0*uns(1;numcols(x))

do while p>0

r=r+valor*extrair(poly;1;1;p;p)

valor=dot(valor;x)

p=p-1

enddo

return r

end function

Ajustes polinomiais podem apresentar comportamento não desejado quando a função

aproximada é aproximadamente constante, especialmente quando se utiliza uma aproximação

de alta ordem.

No caso em questão, é fácil perceber que o ajuste perde muito de sua qualidade a partir

do instante 9 s, em que velocidade e aceleração aumentam subitamente.

Figura B-2 - Efeitos não desejados do ajuste polinomial por OLS na velocidade e aceleração estimadas a

partir de dados de posição com ruído

Para contornar esse problema, basta considerar o ajuste até o instante 9 s:

t=linspace(0;9;201)

xAv=polyval(t;d2p)

Page 63: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

51

vAv=polyval(t;d2p)

aAv=polyval(t;d2p)

Apêndice C Estimação de Parâmetros do Sistema Massa-Mola-

Amortecedor

C.1 Método de Euler

A aproximação pelo método de Euler dos parâmetros do sistema massa-mola-

amortecedor com o módulo de Identificação de Sistemas McLabEn pode ser feita da seguinte

forma:

Figura C-1 - Utilização do identificador de sistemas McLabEn para estimar parâmetros de um sistema

massa-mola-amortecedor usando discretização pelo método Euler-Backwards

C.2 Mínimos Quadrados

Page 64: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

52

A aproximação ajuste mínimos quadrados dos parâmetros do sistema massa-mola-

amortecedor com o módulo de Identificação de Sistemas McLabEn pode ser feita da seguinte

forma:

Figura C-2 - Utilização do identificador de sistemas McLabEn para estimar parâmetros de um sistema

massa-mola-amortecedor usando aproximação de posição por mínimos quadrados

(i) Os vetores xAv, vAv e aAv devem estar criados (Apêndice B).

(ii) Clique em Importar..., escolha xAv e clique Ok.

(iii) Clique em Importar..., escolha vAv e clique Ok.

(iv) Clique em Importar..., escolha aAv e clique Ok.

(v) Digite o modelo dinâmico mostrado em Equações do Modelo do Sistema: 1=[aAv

vAv xAv]

(vi) Clique em Estimar Parâmetros.

O resultado da estimação, nesse caso, é m = 1,132, b = 1,038 e c = 1,006. Os valores

obtidos podem variar pois xerr é o valor de x contaminado com erro aleatório.

Page 65: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

53

Apêndice D Implementação do Algoritmo de Mínimos

Quadrados

A classe que implementa a identificação de parâmetros está transcrita abaixo. Trata-se do

código em VB.NET implementado para a regressão por mínimos quadrados.

Public Class SysDiscretIdent 'Classe para identificação de parâmetros de sistemas dinâmicos #Region "Estruturas de dados e variáveis" Structure varConhecida Dim expressao As String Dim nomevar As String Dim valores() As Double End Structure Structure equacoesRegressao Dim LHS As String Dim funcLHS As funcReal Dim RHS() As String Dim funcRHS() As funcReal End Structure Public varCon() As varConhecida Public qtdVarCon As Integer Public eqsReg() As equacoesRegressao Public qtdEqsReg As Integer 'dimensões de matrizes Public N As Integer Private Q As Integer, k As Integer 'para armazenar a solução e seus indicadores R² de qualidade Public beta() As Double 'vai de 1 até k+1, primeiro até k+1 parâmetro 'para armazenar os desvios padrão Public sigbeta() As Double '1..k+1 Dim YtY As Double 'esse serve para o cálculo dos R Dim YtYminusc As Double 'idem Public RQuad As Double Public RQuadCorrig As Double #End Region #Region "Mensagens" Private Const constTITULO = "Identificação de Sistemas Discretos McLaben" Private Const constNAOHAIGUALDADE = "A equação não tem sinal de igualdade. Digite uma equação do tipo x=[n1 n2 ... nk]" Private Const constINVALIDO = "Equação inválida. Digite uma equação do tipo x=[n1 n2 ... nk]" Private Const constEQMODINVAL = "Equação inválida no modelo. Digite uma equação na forma f(vars)=[f1 f2 ... fk], onde os f são os coeficientes de beta. Equação inválida: " Private Const constERRODIMENS = "Dimensões incompatíveis. Deve haver a mesma quantidade de coeficientes e parâmetros desconhecidos." Private Const constERRODIMENSVALS = "Variáveis medidas devem ter as mesmas dimensões. " Private Const constPOUCASEQS = "Os dados são insuficientes para estimar os parâmetros." #End Region Function eqsModelo(ByVal equacoes As String) As Boolean 'recebe um texto de textbox e identifica, nele, as equações Dim texto() As String, i As Integer, j As Integer

Page 66: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

54

Dim temp() As String texto = Split(equacoes, Chr(13) + Chr(10)) 'texto contém n linhas, as equações Dim qtdEqs As Integer = UBound(texto) 'evita pegar ultima linha em branco If Trim(texto(qtdEqs)) = "" Then qtdEqs -= 1 ReDim Preserve texto(qtdEqs) End If 'para conferir dimensões Dim qtddados As Integer ReDim eqsReg(qtdEqs) For i = 0 To UBound(texto) 'fk=[xk yk xk*xk]*transposta([a b c]) temp = Split(texto(i), "=") If Not UBound(temp) = 1 Then MsgBox(constEQMODINVAL, MsgBoxStyle.Critical, constTITULO + Chr(13) + Chr(10) + texto(i)) Return False End If eqsReg(i).LHS = Trim(Replace(temp(0), " ", "")) eqsReg(i).funcLHS = New funcReal() eqsReg(i).funcLHS.expressao = eqsReg(i).LHS If Not Mid(temp(1), 1, 1) = "[" Or Not Right(temp(1), 1) = "]" Then MsgBox(constEQMODINVAL, MsgBoxStyle.Critical, constTITULO + Chr(13) + Chr(10) + texto(i)) Return False End If temp(1) = Mid(temp(1), 2, Len(temp(1)) - 2) temp = Split(temp(1)) 'agora temp contém as equações dos coeficientes ReDim eqsReg(i).RHS(UBound(temp)) ReDim eqsReg(i).funcRHS(UBound(temp)) If qtddados = 0 Then qtddados = UBound(temp) Else If Not UBound(temp) = qtddados Then MsgBox(constERRODIMENS + Chr(13) + Chr(10) + texto(i), MsgBoxStyle.Critical, constTITULO) Return False End If End If For j = 0 To UBound(temp) eqsReg(i).RHS(j) = temp(j) eqsReg(i).funcRHS(j) = New funcReal() eqsReg(i).funcRHS(j).expressao = eqsReg(i).RHS(j) Next Next qtdEqsReg = qtdEqs + 1 Return True End Function Function addEqVarCon(ByVal equacao As String) As Boolean Dim texto() As String, nomevar As String, numeros() As Double 'separa a igualdade texto = Split(equacao, "=") If UBound(texto) = 0 Then MsgBox(constNAOHAIGUALDADE, MsgBoxStyle.Critical, constTITULO) Return False End If If Not UBound(texto) = 1 Then MsgBox(constINVALIDO, MsgBoxStyle.Critical, constTITULO)

Page 67: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

55

Return False End If 'texto(0) contém o nome da variável 'texto(1) contém seus valores: [1 2 3 4], por exemplo nomevar = Trim(Replace(texto(0), " ", "")) 'identifica os números texto(1) = Trim(texto(1)) 'e se for uma constante? Dim temp() As String temp = Split(texto(1)) If UBound(temp) = 0 Then 'é mesmo um escalar texto(1) = "[" + texto(1) + "]" End If If Not Right(texto(1), 1) = "]" Or Not Mid(texto(1), 1, 1) = "[" Then MsgBox(constINVALIDO, MsgBoxStyle.Critical, constTITULO) Return False End If texto(1) = Mid(texto(1), 2, Len(texto(1)) - 2) 'retira o "[" e o "]" texto = Split(texto(1)) ReDim numeros(UBound(texto)) Dim i As Integer For i = 0 To UBound(texto) If IsNumeric(texto(0)) Then numeros(i) = CDbl(texto(i)) Else MsgBox(constINVALIDO, MsgBoxStyle.Critical, constTITULO) Return False End If Next addVarConhecida(nomevar, numeros, equacao) Return True End Function Sub addVarConhecida(ByVal nome As String, ByVal valores() As Double, ByVal expressao As String) 'adiciona uma variável na lista de variáveis obtidas experimentalmente Dim pos As Integer, i As Integer pos = localizaVarConhecida(nome) If pos = -1 Then 'não achou. adiciona qtdVarCon += 1 ReDim Preserve varCon(qtdVarCon - 1) pos = qtdVarCon - 1 varCon(pos).nomevar = nome End If varCon(pos).expressao = expressao ReDim varCon(pos).valores(UBound(valores)) For i = 0 To UBound(valores) varCon(pos).valores(i) = valores(i) Next End Sub Function localizaVarConhecida(ByVal nome As String) As Integer 'localiza a variável conhecida. Se achar retorna a posição. Se não, retorna -1 If qtdVarCon = 0 Then Return -1 Dim i As Integer For i = 0 To qtdVarCon - 1 If varCon(i).nomevar = nome Then Return i Next Return -1 End Function Function calcParams(Optional ByVal calcIncerts As Boolean = False) As Double() 'zera os indicadores de qualidade RQuad = 0

Page 68: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

56

RQuadCorrig = 0 YtY = 0 YtYminusc = 0 If qtdEqsReg > 0 Then 'faz o cálculo da estimativa utilizando o método de mínimos quadrados 'dim resp() As Double 'cálculo das dimensões N, k e Q. beta[0..k], X[0..N,0..k], Y[0..N], A[0..k,0..k] N = 0 k = 0 Q = qtdEqsReg - 1 Dim i As Integer, j As Integer, p As Integer, pp As Integer For i = 0 To qtdVarCon - 1 If N > 0 Then If N <> UBound(varCon(i).valores) And UBound(varCon(i).valores) > 0 Then Throw New Exception(constERRODIMENSVALS + CStr(N) + "<>" + CStr(UBound(varCon(i).valores))) End If Else N = UBound(varCon(i).valores) End If Next 'já verifiquei a compatibilidade de dimensões em eqsReg no momento 'da leitura k = UBound(eqsReg(0).RHS) If N < k Then Throw New Exception(constPOUCASEQS) End If 'lembrete: quantidade de amostras: N+1 'quantidade de variáveis estimadas: k+1 'é necessário calcular a matriz A[k x k]=sum(Xi'*Xi), b=sum(Xi'Yi) 'A está com índices k+1 por causa do linsolve Dim A(k + 1, k + 1) As Double Dim b(k + 1) As Double 'X vai armazenar os valores das matrizes Xi 'Y vai armazenar os valores dos vetores Yi Dim X(N, k) As Double Dim Y(N) As Double 'para o cálculo de YtY que é y'y dos modelos de RSS Dim somaQuad As Double Dim somaY As Double Dim invN As Double = 1 / N Dim vars As New Variaveis() Dim posicoes(qtdVarCon - 1) As Integer 'adiciona todas as variáveis conhecidas. 'Adicionando varcon(i).valores(0), não preciso modificar 'os escalares mais tarde, os valores já ficam armazenados. For j = 0 To qtdVarCon - 1 vars.addVar(varCon(j).nomevar, varCon(j).valores(0)) posicoes(j) = vars.localizaVar(varCon(j).nomevar) Next 'calcula as matrizes A e b For p = 0 To Q somaQuad = 0 somaY = 0 For i = 0 To N 'joga os valores das variáveis em var

Page 69: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

57

For j = 0 To qtdVarCon - 1 If UBound(varCon(j).valores) > 0 Then vars.valores(posicoes(j)) = varCon(j).valores(i) End If Next 'calcula os Y Y(i) = eqsReg(p).funcLHS.avaliar(vars) somaQuad += Y(i) * Y(i) somaY += Y(i) 'calcula os X For j = 0 To k X(i, j) = eqsReg(p).funcRHS(j).avaliar(vars) Next Next YtY += somaQuad YtYminusc += somaQuad - invN * somaY 'adiciona os valores na matriz A e vetor b 'matriz A For i = 0 To k 'X'[0..k,0..N], X[0..N,0..k] - X[i,j] - X'=X[j,i] For j = 0 To k For pp = 0 To N A(i + 1, j + 1) += X(pp, i) * X(pp, j) Next Next Next 'vetor b For i = 0 To k For pp = 0 To N b(i + 1) += X(pp, i) * Y(pp) Next Next Next 'acabei de calcular a matriz A e o vetor b. Basta resolver o sistema linear linsolve(A, b, False) 'lembrando q A não se altera nessa função ReDim beta(UBound(b)) For i = 0 To UBound(b) beta(i) = b(i) Next 'calcula os indicadores de qualidade 'calcula beta'*A'*A*beta Dim btAtAb As Double = 0 Dim numTemp As Double = 0 For j = 1 To k + 1 numTemp = 0 For p = 1 To k + 1 numTemp += beta(p) * A(p, j) Next btAtAb += numTemp * beta(j) Next 'RQuad = (btAtAb + YtYminusc - YtY) / YtYminusc RQuad = btAtAb / YtY RQuadCorrig = 1 - (N - 1) / (N - k) * (YtY - btAtAb) / YtYminusc '************* 'para o cálculo dos intervalos de confiança, é preciso inverter A '************* If calcIncerts Then 'cria uma variável para o cálculo do desvio padrão do erro, e uma matriz para conter a inversa de A

Page 70: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

58

Dim sigma As Double, Yestim(N) As Double Dim invA(,) As Double For j = 0 To N For p = 0 To k Yestim(j) += X(j, p) * beta(p + 1) Next Next 'calcula as somas dos quadrados dos resíduos e estima o desvio padrão sigma = 0 For j = 0 To N sigma += (Y(j) - Yestim(j)) * (Y(j) - Yestim(j)) Next sigma = Math.Sqrt(sigma / (N - k)) 'inverte a matriz A inversaprox(A, invA) 'calcula as incertezas ReDim sigbeta(UBound(beta)) For j = 0 To k sigbeta(j + 1) = sigma * Math.Sqrt(invA(j + 1, j + 1)) Next End If Return b 'parâmetros: de b(1) até b(k+1) End If End Function End Class

Page 71: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Matemática Computacional: Laboratório em Engenharia e Ciências

Versão 1.33 (Beta) Douglas Coimbra de Andrade 07/05/2005

MMMCCCLLLAAABBBEEENNN GGGuuuiiiaaa dddeee RRReeefffeeerrrêêênnnccciiiaaa

vv11..3333 ((BBeettaa))

Page 72: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

1. Índice

1. ÍNDICE.................................................................................................................. 2

2. INTRODUÇÃO .................................................................................................... 4

3. COMANDOS DA LINHA DE COMANDO ...................................................... 4

3.1 CRIANDO MATRIZES E VETORES.......................................................................................................................4 3.2 FUNÇÕES MATEMÁTICAS RECONHECIDAS........................................................................................................5

3.2.1 Funções que admitem argumentos matriciais complexos ...........................................................................5 3.2.2 Funções que admitem argumentos matriciais reais ....................................................................................5 3.2.3 Funções geradoras de matrizes e vetores ...................................................................................................6 3.2.4 Funções que operam vetores.......................................................................................................................6

4. ÁLGEBRA LINEAR............................................................................................ 6

4.1 EDITOR DE MATRIZES.......................................................................................................................................7 4.2 TRANSPOSTA, INVERSA E DETERMINANTE........................................................................................................7 4.3 RESOLVER SISTEMA LINEAR.............................................................................................................................7

5. PROGRAMAÇÃO MCLABEN.......................................................................... 8

5.1 DIRETÓRIO DE TRABALHO ................................................................................................................................8 5.2 CONDIÇÕES NOS COMANDOS ............................................................................................................................8 5.3 COMANDOS.......................................................................................................................................................8

5.3.1 Comandos de Atribuição.............................................................................................................................8 5.3.2 If – Then – Else – EndIf...............................................................................................................................8 5.3.3 Do While – EndDo ......................................................................................................................................8 5.3.4 For a=b To c EndFor..................................................................................................................................8 5.3.5 Gráficos: Plot..............................................................................................................................................8 5.3.6 Caixa de Mensagem: CaixaMsg..................................................................................................................8 5.3.7 Recomendações para Programação Eficiente ............................................................................................8

6. GRÁFICOS ........................................................................................................... 8

6.1 GRÁFICOS YXX ................................................................................................................................................8 6.2 CURVAS E SUPERFÍCIES NO ESPAÇO..................................................................................................................8 6.3 INTERFACE PARA GRÁFICOS .............................................................................................................................9

6.3.1 Manipulação de Curvas (Ambiente 2D)......................................................................................................9 6.3.2 Manipulação de Curvas e Superfícies (Ambiente 3D) ..............................................................................11

6.4 AQUISIÇÃO DE DADOS ....................................................................................................................................11 6.4.1 Caso Especial: Autoadquirir.....................................................................................................................12

6.5 PROPAGAÇÃO DE INCERTEZAS........................................................................................................................14 6.5.1 Propagação de Incertezas.........................................................................................................................14 6.5.2 Fórmulas ...................................................................................................................................................16

7. SEDOS E SISTEMAS DINÂMICOS ............................................................... 17

7.1 SOLUÇÕES DE SEDOS.....................................................................................................................................17 7.1.1 Inserção das Equações no Solucionador ..................................................................................................17

2

Page 73: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

7.1.1.1 Comentários.....................................................................................................................................17 7.1.1.2 Relações Diferenciais ......................................................................................................................17 7.1.1.3 Igualdades........................................................................................................................................18 7.1.1.4 Restrições e Vantagens ....................................................................................................................18

7.1.2 Inserção das Condições Iniciais................................................................................................................19 7.1.3 Ajuste dos Parâmetros da Solução Numérica ...........................................................................................19 7.1.4 Respostas, Gráficos e Estatística do Solver ..............................................................................................20 7.1.5 Exportação de Dados/Salvar SEDOs/Ler SEDOs a partir de Arquivos ...................................................20

7.2 GRAFOS DE FLUXO DE SINAIS .........................................................................................................................20 7.2.1 Criação do Grafo ......................................................................................................................................21 7.2.2 Análises do Grafo......................................................................................................................................22 7.2.3 Salvar/abrir Grafo ....................................................................................................................................22

8. IDENTIFICADOR DE PADRÕES .................................................................. 22

9. CRIPTOGRAFIA CAÓTICA........................................................................... 22

10. BIBLIOGRAFIA............................................................................................. 22

APÊNDICE A – CONSTANTES PRÉ-DEFINIDAS ............................................ 22

APÊNDICE B – COMANDOS DE SISTEMA....................................................... 23

APÊNDICE C – ALGORITMOS A SEREM IMPLEMENTADOS ................... 23

APÊNDICE D – ORDEM DAS COMPONENTES DE FREQÜÊNCIA DA FFT..................................................................................................................................... 23

APÊNDICE E – BUGS CONSERTADOS.............................................................. 24

3

Page 74: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

2. Introdução McLabEn é um sistema concebido para permitir manipulação numérica rápida e eficiente de dados e matrizes. Seu interpretador é capaz de realizar com celeridade grande parte das operações corriqueiras, como solução de sistemas lineares, inversão de matrizes e avaliação numérica de expressões (que podem incluir números complexos). As caixas de ferramentas auxiliares fornecem recursos muito úteis e fáceis de utilizar para a solução de diversos problemas (solução de equações diferenciais, construção de gráficos, simulação de grafos de sistemas, etc.). A missão do programa é oferecer soluções em cálculo numérico e algoritmos computacionais inteligentes que sejam muito fáceis de utilizar, sem comprometimento da qualidade das soluções.

3. Comandos da Linha de Comando

Para executar um comando basta digitá-lo na caixa Comando e pressionar Enter (ou clicar

Executar). Os comandos executados na linha de comando têm uma sintaxe padrão: <variável> = <valor>.

Quando a variável não é especificada, o programa atribui seu valor à variável de sistema ans.

Podem ser utilizados argumentos complexos nas funções matemáticas que admitem tais argumentos. Nota: o ambiente é case sensitive, ou seja, existe diferença entre maiúsculas e minúsculas (por exemplo, abs funciona; Abs não). A unidade imaginária é ‘i’ (minúsculo) ou ‘j’ (minúsculo).

Nas funções com mais de um argumento, o caractere separador é o ; (ponto e vírgula). Para executar o comando desejado, digite-o na linha de comando e pressione Enter.

33..11 CCrriiaannddoo MMaattrriizzeess ee VVeettoorreess A sintaxe utilizada para criar matrizes e vetores é a seguinte:

4

Page 75: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

• Os elementos do vetor/matriz ficam entre chaves [] • Os elementos de uma mesma linha são separados por espaço • A separação de linha é feita através do ponto-e-vírgula (;)

Exemplos:

Comando Resposta M=[1 2 3;-2 1 2;3 5 6] M =

[1 2 3 -2 1 2 3 5 6 ]

b=[1 2 3+i] b = [1 2 3+i ]

Para acessar elementos ou submatrizes de uma matriz utilize o comando extrair (descrito em Funções Matemáticas Reconhecidas).

33..22 FFuunnççõõeess MMaatteemmááttiiccaass RReeccoonnhheecciiddaass

3.2.1 Funções que admitem argumentos matriciais complexos Descrição Funções (argumentos: z, x, y

etc.) Exemplos

Argumento de número complexo arg(z), Arg(z) arg(cos(Pi/6)+sin(Pi/6)*i)/Pi*180=30Determinante det(z) det([1 i;2 3])=3-2*i Dimensões de matriz numlinhas(z), numcols(z) =

numcolunas(z)

Exponencial exp(z) exp(1)=2,718281828459 Extrair submatriz de matriz começando na linha L0 e terminando em Lf e começando na coluna C0 e terminando em Cf

extrair(z;L0;Lf;C0;Cf)

Funções trigonométricas sen(z) = sin(z), cos(z), tan(z) = tg(z), sec(z), cossec(z) = csc(z), cotan(z) = cotg(z)

sin(i)=1,175201193644*i

Funções trigonométricas hiperbólicas

senh(z) = sinh(z), cosh(z), tanh(z)

Inversa de matriz invmat(z) = inversa(z) = inverse(z)

Inverso dos termos de uma matriz invtermos(z) invtermos([0.5 2])=[2 0.5] Logaritmo ln(z) ln(exp(1))=1 Norma (v0.5) norma(A) = norm(A) norma([1 1;1 1])=2 (=sqrt(4)) Parte imaginária de número complexo

Im(z) Im([i 1])=[1 0], Im(3+4*i)=4

Parte real de número complexo Re(z) Re([i 1])=[0 1], Re(3+4*i)=3 Potenciação pow(x;y) = x^y pow(4;i)= 0,18345697+0,983027*i Produto entre matrizes x*y [1 2;1 2]*[2 3;1 2]=[4 7;4 7] Produto escalar dot(x;y) = prodescalar(x;y) =

prodesc(x;y)

Raiz quadrada sqrt(z) sqrt(-1)=i Solução de sistemas lineares – resolve o sistema Ax=b

linsolve(A;b) = sistlinear(A;b)

Solução de sistemas lineares reais: resolve Re(A)x=Re(b)

linsolvereal(A;b)

Transposta de matriz transpose(z) = transposta(z) Valor absoluto abs(z) abs(-1)=1, abs(3+4*i)=5

3.2.2 Funções que admitem argumentos matriciais reais Descrição Funções (argumentos: z, x, y etc.) Exemplos Funções trigonométricas inversas arctan(z) = arctg(z), arcsin(z) = arcsen(z),

5

Page 76: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

arccos(z) Função Degrau Unitário Heaviside(z), Hs(z) Hs([-1 1 2])=[0 1 1] Função fatorial (v0.41) gama(z) = gamma(z) = fatorial(z) = factorial(z) gama(4)=6,

gama(4,5) Piso piso(z), floor(z) floor([1,2 2,3])=[1 2] Teto teto(z), ceil(z) ceil([1,2 2,3])=[2 3]

3.2.3 Funções geradoras de matrizes e vetores Descrição Funções (argumentos: z, x, y etc.) Exemplos Identidade nxn identity(n) = identidade(n) Matriz de Vandermonde nxn Vander(n) = vander(n) = Vandermonde(n)

= vandemonde(n)

Matriz pxq de números reais aleatórios uniformemente distribuídos no intervalo [0,1].

random(p;q)=aleat(p;q)

Matriz nxm de linhas iguais e colunas igualmente espaçadas (v0.5)

linspaceY(x0;xf;n;m) linspaceY(0;5;2;6)= [0 1 2 3 4 5; 0 1 2 3 4 5]T

Matriz nxm de colunas iguais e linhas igualmente espaçadas (v0.5)

linspaceX(x0;xf;n;m) linspaceX(0;5;6;2)= [0 1 2 3 4 5; 0 1 2 3 4 5]

Matriz de uns (v0.42) uns(2;2), ones(3;1) uns(1;4)=[1 1 1 1] uns(2;2)=[1 1;1 1]

Vetor com seqüência linear começando em x0, terminando em xf com n pontos igualmente espaçados no intervalo.

linspace(x0;xf;n) linspace(0;5;6)=[0 1 2 3 4 5]

3.2.4 Funções que operam vetores Descrição Funções (argumentos: z,

x, y etc.) Exemplos

Transformada rápida de Fourier FFT (v0.42)

FFT(v) FFT([1 2 3 4])

Raízes de equações polinomiais complexas (v0.5) Trata-se de uma implementação do método de Laguerre que, nos testes realizados, mostrou eficiência para polinômios de grau até 50, podendo ocorrer perda de raízes para polinômios de graus maiores.

raízes(v), roots(v), raizes(v) roots([1 -3 2]) ans = [1 2 ] roots([1 -i 2+i]) ans = [0.32574-1.035*i -0.32574+2.035*i ]

Transformada rápida inversa de Fourier iFFT (v0.42)

iFFT(v) iFFT([1 2 3 4])

4. Álgebra Linear

6

Page 77: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

44..11 EEddiittoorr ddee MMaattrriizzeess O editor de matrizes é um recurso construído para facilitar a edição de matrizes existentes, embora também sirva para criar novas matrizes. O procedimento para criar/editar matrizes é o seguinte:

1. Se a intenção é criar uma nova matriz, pule para o passo 2. Para abrir uma matriz existente na memória do ambiente de trabalho, clique na lista “Importar Variável” e escolha a variável a ser importada para o ambiente de edição. Os elementos do vetor ou matriz aparecem na tela, dentro do frame Matriz.

2. Escolha o número de linhas e colunas da matriz, editando as caixas de texto “Linhas” e “Colunas”. 3. Altere os valores dos elementos desejados. O elemento a(i,j) é o elemento da i-ésima linha e j-

ésima coluna. Digite o valor a ser atribuído e pressione Enter (ou clique no botão Alterar). 4. Repita o passo 3 até editar todos os valores desejados. 5. Exporte a matriz criada para o ambiente McLabEn digitando o nome da variável no campo “Atribuir

Variável” e clicando no botão “Atribuir”.

44..22 TTrraannssppoossttaa,, IInnvveerrssaa ee DDeetteerrmmiinnaannttee Ao clicar em qualquer uma das opções acima, o McLabEn abre uma janela perguntando qual matriz, dentre as que estão na memória, deve ser tomada como argumento. No caso de inversa e determinante, somente as matrizes quadradas são exibidas. Se a matriz não for inversível, a resposta é uma matriz identicamente nula de mesma dimensão do argumento.

44..33 RReessoollvveerr SSiisstteemmaa LLiinneeaarr Resolve o sistema linear Ax=b pelo método da fatoração LU. Ao clicar nessa opção, o McLabEn exibe todas as matrizes quadradas nxn na memória (que será a matriz A da fórmula). A seguir, o sistema mostra todos os vetores 1xn compatíveis com a matriz A (ou seja, se A é 3x3, exibe todos os vetores 1x3). Após selecionados os dois argumentos, o programa exibe a resposta.

7

Page 78: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

5. Programação McLabEn

O usuário McLabEn pode criar suas próprias funções (v1.2). Essas funções são interpretadas e armazenadas internamente quando invocadas na linha de comando. De dentro das funções é possível invocar todos os comandos da linha de comando e também todas as demais funções criadas pelo usuário.

Cada função criada pelo usuário deve ficar em um arquivo diferente. Um cuidado essencial é dar ao arquivo contendo a função <função> o nome <função>.mcf. Por exemplo, a função minQuad deve estar implementada no arquivo minQuad.mcf. Atenção: o McLabEn diferencia maiúsculas e minúsculas em funções. Dessa forma, minquad não é o mesmo que minQuad.

55..11 DDiirreettóórriioo ddee TTrraabbaallhhoo

As funções do usuário ficam armazenadas em um diretório.

55..22 CCoonnddiiççõõeess nnooss CCoommaannddooss

55..33 CCoommaannddooss

5.3.1 Comandos de Atribuição

5.3.2 If – Then – Else – EndIf

5.3.3 Do While – EndDo

5.3.4 For a=b To c EndFor

5.3.5 Gráficos: Plot

5.3.6 Caixa de Mensagem: CaixaMsg

5.3.7 Recomendações para Programação Eficiente

6. Gráficos

66..11 GGrrááffiiccooss YYxxXX Inicialmente, o programa pede para o usuário escolher o vetor que contém as coordenadas X dos pontos e, após isso, o vetor que contém as coordenadas Y, para construir o gráfico YxX. Em seguida, pede-se o título que será exibido na tela. Para não adicionar novos dados ao ambiente de gráficos 2D, basta clicar Cancelar em alguma das etapas.

66..22 CCuurrvvaass ee SSuuppeerrffíícciieess nnoo EEssppaaççoo v0.5 – Utilização do pacote gráfico OpenGL para renderização dos gráficos. Com a implementação de OpenGL , tornou-se possível confeccionar gráficos de curvas e superfícies tridimensionais.

8

Page 79: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

Para confeccionar curvas tridimensionais, basta selecionar “Curvas no Espaço” no menu gráficos e escolher os vetores que contêm as coordenadas X, Y e Z dos pontos. Pode-se, também, definir cores nos vértices. As cores são interpoladas linearmente pela placa de vídeo. Para plotar superfícies, é necessário criar as matrizes de suas coordenadas X, Y e Z. Para essa finalidade, foram implementadas as funções linspaceX e linspaceY. Exemplo: gráfico de uma gaussiana: matrx=linspaceX(-3;3;10;10) matry=linspaceY(-3;3;10;10) fxy=exp(-dot(matrx;matrx)-dot(matry;matry)) matrx = [-3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 -3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 -3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 -3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 -3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 -3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 -3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 -3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 -3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 -3 -2.333 -1.667 -1 -0.3333 0.3333 1 1.667 2.333 3 ] matry = [-3 -3 -3 -3 -3 -3 -3 -3 -3 -3 -2.333 -2.333 -2.333 -2.333 -2.333 -2.333 -2.333 -2.333 -2.333 -2.333 -1.667 -1.667 -1.667 -1.667 -1.667 -1.667 -1.667 -1.667 -1.667 -1.667 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -0.3333 -0.3333 -0.3333 -0.3333 -0.3333 -0.3333 -0.3333 -0.3333 -0.3333 -0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 0.3333 1 1 1 1 1 1 1 1 1 1 1.667 1.667 1.667 1.667 1.667 1.667 1.667 1.667 1.667 1.667 2.333 2.333 2.333 2.333 2.333 2.333 2.333 2.333 2.333 2.333 3 3 3 3 3 3 3 3 3 3 ] fxy = [1.523E-08 5.332E-07 7.673E-06 4.54E-05 0.0001104 0.0001104 4.54E-05 7.673E-06 5.332E-07 1.523E-08 5.332E-07 1.866E-05 0.0002686 0.001589 0.003866 0.003866 0.001589 0.0002686 1.866E-05 5.332E-07 7.673E-06 0.0002686 0.003866 0.02287 0.05564 0.05564 0.02287 0.003866 0.0002686 7.673E-06 4.54E-05 0.001589 0.02287 0.1353 0.3292 0.3292 0.1353 0.02287 0.001589 4.54E-05 0.0001104 0.003866 0.05564 0.3292 0.8007 0.8007 0.3292 0.05564 0.003866 0.0001104 0.0001104 0.003866 0.05564 0.3292 0.8007 0.8007 0.3292 0.05564 0.003866 0.0001104 4.54E-05 0.001589 0.02287 0.1353 0.3292 0.3292 0.1353 0.02287 0.001589 4.54E-05 7.673E-06 0.0002686 0.003866 0.02287 0.05564 0.05564 0.02287 0.003866 0.0002686 7.673E-06 5.332E-07 1.866E-05 0.0002686 0.001589 0.003866 0.003866 0.001589 0.0002686 1.866E-05 5.332E-07 1.523E-08 5.332E-07 7.673E-06 4.54E-05 0.0001104 0.0001104 4.54E-05 7.673E-06 5.332E-07 1.52E-08] Os dados referentes à função são fxy. Naturalmente, é possível parametrizar superfícies utilizando esse método.

66..33 IInntteerrffaaccee ppaarraa GGrrááffiiccooss O ambiente gráfico McLabEn inclui curvas e superfícies e será explicado no presente tópico. A interface suporta tridimensionalidade, que pode ser ativada com a opção “Exibir gráfico em contexto tridimensional”, e permite interatividade com o mouse. 6.3.1 Manipulação de Curvas (Ambiente 2D) O primeiro passo para começar a manipulação é escolher um conjunto de dados clicando na lista de nome “Curvas:”. Após isso, os recursos disponíveis são:

9

Page 80: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

Recurso Procedimento Apagar o conjunto de dados Clique no botão Apagar Editar ponto do conjunto de dados Escolha o ponto na lista “Pontos do gráfico” e clique no botão Editar.

Em seguida, digite as novas coordenadas do ponto no formato [x y]. Eliminar ponto do conjunto de dados Escolha o ponto na lista “Pontos do gráfico” e clique no botão

Eliminar. Escala automática de todos os conjuntos de pontos que estão sendo exibidos

Clique no menu Gráfico –> Escala Automática ou clique com o botão direito do mouse na área de desenho

Esconder o conjunto de dados Clique no botão Esconder Exibir conjunto de dados Basta escolher o conjunto de dados Exibir marca nos pontos do conjunto de dados

Clique no menu Tipo de Ponto. Escolha um tipo de gráfico dentre as opções definidas OU determine um caracter que irá marcar os pontos (Tipo de Ponto -> Letra) OU escolha numerar os pontos na ordem em que foram armazenados (Numerar Pontos).

Exportar para um arquivo Clique no menu Exportar/Importar Dados -> Exportar para Arquivo e crie o arquivo .txt que irá conter o conjunto de dados.

Exportar para uma variável no ambiente de comando McLabEn

Clique no menu Exportar/Importar Dados -> Exportar variável. Escolha os nomes das variáveis que irão receber os dados do eixo X e Y. Nota: se as variáveis já existirem, elas serão sobrescritas.

Importar de arquivo Clique no menu Exportar/Importar Dados -> Importar do Arquivo e selecione o arquivo de dados .txt no formato reconhecido pelo McLabEn.

Mudar a cor do conjunto de dados Clique no botão Cor... e selecione da lista Não exibir marca nos pontos do gráfico

Clique no menu Tipo de Ponto -> Não exibir pontos

Quantidade de divisões nos eixos Clique no menu Gráfico -> Divisões no eixo X (ou Y) e escolha a densidade de divisões (Nenhuma, Poucas, Médias, Muitas)

10

Page 81: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

Zoom em parte do gráfico Clique e arraste o mouse sobre a região a ser magnificada 6.3.2 Manipulação de Curvas e Superfícies (Ambiente 3D) O ambiente 3D permite apenas rotação dos eixos e escala automática.

66..44 AAqquuiissiiççããoo ddee DDaaddooss O objetivo do sistema de aquisição de dados é ler uma figura (.bmp, .jpg, etc.) que contenha um gráfico de função (que pode, inclusive, ter sido escaneado) e extrair desse gráfico as coordenadas dos pontos da função. Para que o sistema funcione perfeitamente, as recomendações são as seguintes:

• A cor da função a ser adquirida deve ser diferente de todas as demais cores da figura. Isso é essencial para que o software não confunda quais pontos pertencem à função e quais pontos devem ser ignorados.

• O gráfico deve representar uma função. Se isso não acontecer, somente os pontos do extremo superior serão adquiridos.

Para efetuar a leitura, siga os seguintes passos:

11

Page 82: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

1. Clique no menu Figura -> Importar... e carregue a figura contendo o gráfico da função; 2. Garanta que a cor da função é diferente das demais cores da figura; 3. Se a imagem não estiver com um desnível angular, pule para o passo 4. Se não, determine um

ângulo de correção e clique no botão Rotacionar até que a angulação do gráfico esteja da forma desejada;

4. Clique no botão Coordenadas Iniciais..., especifique o valor da coordenada e clique em um ponto da imagem que corresponda a essas coordenadas *;

5. Similarmente, Clique no botão Coordenadas Finais..., especifique o valor da coordenada e clique em um ponto da imagem que corresponda a essas coordenadas *. Importante: o sistema adquire pontos em toda a extensão vertical do gráfico, mas na direção horizontal, apenas entre as coordenadas iniciais e finais;

6. Determine a cor do gráfico. Faça isso clicando no botão Cor do Gráfico e, em seguida, clicando em um ponto dentro da figura que seja da mesma cor do gráfico (isto é, clique em um ponto do gráfico para que o programa identifique sua cor). Verifique se a cor selecionada a partir do gráfico é a desejada na cor que aparece ao lado do botão Cor do Gráfico;

7. Clique no botão Adquirir e especifique a quantidade de pontos igualmente espaçados que serão adquiridos a partir da figura;

8. Clique no botão Plotar Dados... para manipular os dados adquiridos na interface para gráficos 2D.

(v1.33) * Se a figura for maior do que o espaço disponível na tela, basta utilizar as barras de

rolagem para acessar a região do gráfico que corresponde à coordenada desejada.

6.4.1 Caso Especial: Autoadquirir

12

Page 83: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

Existem casos em que os gráficos estão muito bem definidos, suas cores são bem diferentes das cores das linhas do grid (ou não há grid), mas eles possuem, todos, a mesma cor, como no exemplo mostrado neste tópico. Nesses casos, como o algoritmo de aquisição faz a leitura de cima para baixo, é necessário editar manualmente a figura para apagar os gráficos superiores, o que pode ser um incômodo. Para isso, foi criado um algoritmo específico, que tenta reconhecer pontos de funções que não apresentem descontinuidades. Em resumo, se:

• A imagem contém várias curvas que não se tocam (essencial); • Essas curvas não contêm descontinuidades e estão bem definidas na imagem (essencial); • Não há grid ou o grid tem cor diferente da dos gráficos (essencial); • As curvas têm cores parecidas (este requisito não é essencial para o funcionamento do

Autoadquirir).

Então, o procedimento que utiliza o comando Autoadquirir é o mais adequado: 1. Clique no menu Figura -> Importar... e carregue a figura contendo o gráfico da função; 2. Marque o botão Autoadquirir; 3. Clique no botão Coordenadas Iniciais..., especifique o valor da coordenada e clique em um ponto da

imagem que corresponda a essas coordenadas; 4. Similarmente, Clique no botão Coordenadas Finais..., especifique o valor da coordenada e clique

em um ponto da imagem que corresponda a essas coordenadas. Importante: o sistema adquire

13

Page 84: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

pontos em toda a extensão vertical do gráfico, mas na direção horizontal, apenas entre as coordenadas iniciais e finais;

5. Clique no botão Cor do Gráfico. Clique sobre a curva cujos dados deseja adquirir. O programa adquire automaticamente os dados, mostrando os gráficos correspondentes.

6. Se for necessário adquirir os dados de mais curvas, basta clicar nos demais gráficos.

66..55 PPrrooppaaggaaççããoo ddee IInncceerrtteezzaass O sistema de Propagação de Incertezas é um meio prático para propagar incertezas em medições de laboratório, utilizando os métodos clássicos de propagação de incerteza (absoluta e estatística) para obter as incertezas de dados calculados a partir de resultados experimentais. É possível entrar no módulo de propagação de incertezas da seguinte forma:

Clique no botão dropdown de gráficos e plots e, em seguida, na opção “Propagação de Incertezas...”

6.5.1 Assistente de Propagação

O Assistende de Propagação é uma ferramenta prática para propagar incertezas de dados obtidos em laboratório. É aberto automaticamente quando se clica em Propagação de Incertezas, mas pode ser acessado pelo módulo principal no menu Assistente. Basta seguir os passos apresentados para inserir dados e equações. Após finalizar o assistente, siga as seguintes etapas:

1. Após clicar em Concluir, clique no botão Propagar do módulo principal para que seja feita a propagação.

2. O McLabEn mostra as variáveis propagadas e possíveis motivos pelos quais não tenha sido capaz de propagar incerteza em alguns casos. Após a propagação, ficam habilitados os botões de Gráficos e Exportar Variáveis.

3. Para visualizar os gráficos das variáveis do problema, clique em Gráficos Individuais. 4. Todas as variáveis calculadas e suas respectivas incertezas podem ser visualizadas em Variáveis

Calculadas. 5. Para fazer gráficos de uma variável em função de outra, basta clicar em Exportar Variáveis. O

propagador exporta as variáveis para o ambiente McLabEn. A partir daí, basta usar os procedimentos descritos em Gráficos YxX para plotar a informação desejada. São exportados, também, os erros das variáveis, com nome err + <nome da variável>.

6.5.2 Módulo Principal

14

Page 85: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

Quando as incertezas primárias das variáveis medidas já são conhecidas, pode ser mais prático utilizar diretamente o módulo principal para propagar incertezas, seguindo os seguintes passos:

1. A caixa Variáveis conhecidas / medidas contém os dados medidos em laboratório. Utilize a caixa ao lado do botão Adicionar / Alterar para dar um nome para o conjunto de dados. Digite os dados medidos e suas respectivas incertezas separadas por ; (ponto-e-vírgula) e espaços. Clique no botão Adicionar/Alterar para incluir o novo conjunto de dados.

2. Se desejar inserir um escalar com sua respectiva incerteza para efetuar cálculos, basta dar um nome para a variável, colocar APENAS UM valor e UMA incerteza.

3. Insira todos os dados conhecidos repetindo as operações 2 e 3. 4. Para adicionar uma nova variável a ser calculada com base nos dados experimentais, digite sua

relação com as variáveis conhecidas na caixa “Variáveis desconhecidas”. Adicione a nova variável desconhecida com o botão Adicionar / Alterar. As fórmulas desse campo são operadas termo a termo entre as variáveis que forem vetores. Se alguma variável for escalar, então o valor e a incerteza do escalar são usadas em todas as operações.

15

Page 86: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

5. As variáveis desconhecidas subseqüentes podem estar em função de variáveis desconhecidas já adicionadas. Clique em Adicionar/Alterar para adicionar novas variáveis desconhecidas.

6. Para alterar uma relação adicionada incorretamente, basta digitar a relação correta na caixa ao lado do botão Adicionar / Alterar e clicar no botão. A nova relação substitui a anterior.

7. Repita os passos 6 e 7 até adicionar todas as variáveis desconhecidas. 8. O próximo passo é propagar as incertezas. Escolha o tipo de incerteza a propagar (estatística

ou global) e clique no botão Propagar.

9. O McLabEn mostra as variáveis propagadas e possíveis motivos pelos quais não tenha sido capaz de propagar incerteza em alguns casos. Após a propagação, ficam habilitados os botões de Gráficos e Exportar Variáveis.

10. Para visualizar os gráficos das variáveis do problema, clique em Gráficos Individuais. 11. Todas as variáveis calculadas e suas respectivas incertezas podem ser visualizadas em

Variáveis Calculadas. 12. Para fazer gráficos de uma variável em função de outra, basta clicar em Exportar Variáveis. O

propagador exporta as variáveis para o ambiente McLabEn. A partir daí, basta usar os procedimentos descritos em Gráficos YxX para plotar a informação desejada. São exportados, também, os erros das variáveis, com nome err + <nome da variável>.

6.5.3 Fórmulas A propagação de incertezas tem uma teoria à parte, que pode ser encontrada em [3]. As fórmulas para a propagação do erro de uma função f dependente de x1, x2, ..., xn são: f = f(x1, x2, ...,xn) Incerteza global:

16

Page 87: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

= δ f ∑ = i 1

n

δxi

⎝⎜⎜⎜

⎠⎟⎟⎟∂

∂xi

f

Incerteza estatística:

= δ f ∑ = i 1

n⎛

⎝⎜⎜⎜

⎠⎟⎟⎟

δxi

⎝⎜⎜⎜

⎠⎟⎟⎟∂

∂xi

f2

7. SEDOs e Sistemas Dinâmicos

77..11 SSoolluuççõõeess ddee SSEEDDOOss O algoritmo para solução de sistemas de equações diferenciais ordinárias (SEDOs) no McLabEn é um Runge-Kutta de quarta ordem com correção de sexta ordem (detalhado em [1] e [2]). Um excelente recurso do McLabEn é que, ao contrário de diversos outros programas que resolvem SEDOs, o McLabEn efetua automaticamente a transformação das equações diferenciais de ordem maior do que 1 em sistemas de equações diferenciais de ordem 1. Os detalhes do programa de implementação da solução podem ser encontrados nas referências [1] e [2]. 7.1.1 Inserção das Equações no Solucionador O espaço para inserção de equações no solucionador admite três tipos de linhas:

• Comentários (em verde) (v1.0) • Relações diferenciais (em preto) (v1.0) • Relações não-diferenciais (igualdades) (em azul) (v1.0)

7.1.1.1 Comentários Qualquer linha que não contenha o sinal de igualdade “=” é entendida como um comentário e é completamente ignorada pelo solver de equações diferenciais. Adicionalmente, comentários podem ser colocados em qualquer linha: basta precedê-los por “//” (duas barras). 7.1.1.2 Relações Diferenciais

17

Page 88: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

Para fornecer as equações diferenciais, utiliza-se uma “’” (aspa simples) para cada derivada da função (com relação à variável independente especificada na caixa de texto Variável Independente – o padrão é t). Assim, x’’ = -x-x’ diz que a segunda derivada de x(t) é igual a x(t) menos sua derivada x’(t). Observe que não se coloca o (t) do x(t) na definição. É necessário explicitar a derivada de maior ordem da equação do lado esquerdo da igualdade para que o solucionador funcione. Uma vez definida a equação diferencial, a maior derivada da função e todas as outras tornam-se disponíveis para uso em igualdades e relações diferenciais, em linhas acima ou abaixo da linha onde a relação foi definida.

Exemplo de equação diferencial Variáveis que se tornam disponíveis após a definição x’’’=x’’-x x’’’, x’’, x’ e x f’’=f-f’ f’’, f’ e f y’’’’=sqrt(y)*t y’’’’, y’’’, y’’, y’ e y

Exemplos de entradas válidas Descrição x’’=x’-y’ y’=x-y

Sistema de equações diferenciais acopladas

f’’=f’*g+h g’’=f*g-f-g h’’’=h’’-h+f

Sistema de equações diferenciais acopladas (não-linear)

Exemplos de entradas inválidas

Motivo da falha

x’’=x’’’-x’ A maior derivada precisa ser explicitada do lado esquerdo da equação x’’=y’-x’ y’=x-x’’’

O programa não conhece o valor de x’’’ (pois a maior derivada de x que aparece – do lado esquerdo da equação – é 2).

7.1.1.3 Igualdades As igualdades são muito úteis para definir constantes do sistema ou saídas desejadas. Em linhas que definem igualdade não aparece a aspa simples (’), mas apenas a relação de igualdade. Uma vez definida a igualdade, a variável à esquerda na equação torna-se disponível para uso em todas as relações diferenciais (em linhas acima ou abaixo da definição), mas torna-se disponível para uso em igualdades somente em linhas abaixo de sua definição. Exemplos de entradas válidas Descrição A=1 y’=A*y+sqrt(B)*y B=2+A

Utilização de uma constante em uma EDO. Pode-se utilizar a constante B na EDO pois as variáveis definidas nas igualdades ficam disponíveis para todas as relações diferenciais do campo de equações.

A=abs(y’-x’) x’’=-x’-x-y*C B=abs(x-y) y’’=-y’-y-x C=abs(x-x’)

As constantes A, B e C podem ser saídas desejadas. Essa configuração da entrada é válida porque as relações diferenciais tornam as variáveis x, x’, x’’, y, y’ e y’’ disponíveis em TODAS as linhas da entrada, e as variáveis do lado esquerdo de igualdades ficam disponíveis para todas as relações diferenciais (acima ou abaixo).

Exemplos de entradas inválidas Descrição A=B B=1+A y’=A*y+sqrt(A)*y

Não se pode utilizar B do lado direito de uma igualdade pois B só fica disponível para esse fim nas linhas ABAIXO de sua definição.

A=B+C x’’=-x’-B*x-y B=abs(x-y) y’’=-y’-y-x C=abs(x-x’)

Idem, B e C só ficam disponíveis para utilização em igualdades nas linhas abaixo de sua definição.

7.1.1.4 Restrições e Vantagens

As principais restrições na entrada das equações são:

18

Page 89: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

• Necessidade de isolar a maior derivada da equação diferencial • Não se pode utilizar variáveis definidas do lado esquerdo de uma igualdade em linhas acima da

linha de definição • As derivadas de ordem superior à da maior não ficam disponíveis.

Por outro lado, as vantagens são compensadoras:

• Praticamente todos os softwares para solução numérica de equações diferenciais têm as restrições

acima (ou restrições ainda piores, como a IMPOSSIBILIDADE de utilizar igualdades) • O software determina automaticamente as condições iniciais que devem ser estipuladas para o

sistema (conforme será visto a seguir), bem como transforma sozinho sistemas de ordens superiores em sistemas de primeira ordem.

• O software calcula de forma muito fácil praticamente todas as saídas que podem ser de interesse do usuário (conforme será visto a seguir).

7.1.2 Inserção das Condições Iniciais

Uma vez definidas as equações diferenciais e as igualdades do sistema, basta clicar no campo de condições iniciais e definir seus valores. O programa determina automaticamente quais condições iniciais devem ser especificadas. 7.1.3 Ajuste dos Parâmetros da Solução Numérica Os parâmetros a seres ajustados são:

• Intervalo de Amostragem – Intervalo em que os valores da função serão armazenados na memória. Por exemplo, um intervalo de amostragem de 0,001 armazena 100 vezes mais pontos do que um intervalo de amostragem de 0,1.

• Precisão – Calcula a precisão relativa admissível para o problema. Isso não garante que a resposta atende essa precisão, mas fornece para o solver um modo de controle para o passo variável. Para aplicações lineares ou não-caóticas, o solver fornece respostas que são, em geral, mais precisas do que a precisão especificada.

• Variável independente – Nome da variável independente que será reconhecida no conjunto de equações.

• Valor inicial – Valor inicial da variável independente. Note que todas as condições iniciais são assumidas como valores da função no valor inicial da variável independente.

• Integrar até – Valor final da variável independente.

19

Page 90: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

7.1.4 Respostas, Gráficos e Estatística do Solver Para resolver o SEDO, clique em Resolver e aguarde até que a solução esteja completa.

• Os valores das funções definidas por relações diferenciais e igualdades (todas as funções) podem ser visualizados clicando no botão “Respostas”. Esse botão exibe os valores no ponto final da integração.

• Os gráficos de todas as funções no tempo podem ser visualizados clicando em “Gráficos de evolução no tempo”. Devido ao grande número de funções geralmente definidas em um SEDO, nenhuma delas fica visível inicialmente no ambiente de gráficos 2D. Para visualizar os conjuntos de dados basta selecioná-los. Para maiores informações sobre a interface 2D consulte Interface para Gráficos 2D.

• Gráficos de trajetórias são os gráficos em que os valores de uma função dão as coordenadas x dos pontos e os valores de outra função dão as coordenadas y dos pontos. Os gráficos de trajetórias também podem ser visualizados clicando no botão “Gráficos de Trajetórias”.

• Informações técnicas sobre a execução do solver e estimativa do erro da solução podem ser visualizados clicando no botão “Estatística”.

7.1.5 Exportação de Dados/Salvar SEDOs/Ler SEDOs a partir de Arquivos O funcionamento dos botões de importação/exportação é o seguinte:

• Exportar dados – exporta as variáveis armazenadas na solução do SEDO para o ambiente de comando do McLabEn. Nota: se as variáveis já existirem elas serão sobrescritas.

• Salvar arquivo – salva um arquivo contendo todas as equações, condições iniciais e parâmetros definidos no ambiente. Ideal para salvar um modelo de análise de equações diferenciais.

• Ler do arquivo – lê equações, condições iniciais e parâmetros a partir de um arquivo.

77..22 GGrraaffooss ddee FFlluuxxoo ddee SSiinnaaiiss

20

Page 91: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

O recurso de grafos de fluxos de sinais implementa alguns recursos para grafos orientados, como:

• Detecção de todas as malhas fechadas • Reconhecimento das malhas fechadas que não se tocam (2 a 2, 3 a 3, etc.) • Detecção de todos os caminhos partindo de um nó de origem e chegando a um nó de destino • Implementação da fórmula de Mason para o cálculo da função de transferência de um sistema

dinâmico representado por seu grafo de fluxo de sinais (para maiores informações consulte a referência [3])

7.2.1 Criação do Grafo

Para a criação do grafo, são utilizados os seguintes comandos: Descrição Comando a ser utilizado Alterar nome de um nó Dê um clique duplo sobre o nó e digite o novo nome do nó Criar um novo nó Clique no botão Adicionar Nó De-selecionar nó Clique sobre o nó selecionado Ligar o nó de origem A ao nó de destino B

Selecione o nó A e clique sobre o nó B. A função de transferência que será associada à ligação é aquela dada pela caixa de textos Função de Transferência

Modificar função de transferência Altere a função na caixa de textos Função de Transferência Mover nó Selecione o nó a ser movido e clique na posição de destino do nó Remover ligação entre o nó de origem A e o nó de destino B

Selecione o nó A e clique sobre o nó B

Remover nó Selecione o nó a ser removido e clique no botão Remover Nó Selecionar nó Clique sobre o nó. O nó selecionado fica com cor de fundo azul

21

Page 92: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

7.2.2 Análises do Grafo As análises possíveis estão descritas abaixo: Análise Comando Determinante do sistema dinâmico (ref [3])

Clique no menu Análise -> Determinante do Sistema

Encontrar função de transferência entre uma entrada e uma saída (ref [3])

Clique no menu Análise -> Calcular Função de Transferência. Selecione o nome do nó que corresponde à entrada e, a seguir, o nome do nó que corresponde à saída

Encontrar todas as malhas fechadas do sistema e verificar quais não se tocam 2 a 2, 3 a 3, etc.

Clique no menu Análise -> Malhas Fechadas

Encontrar todos os caminhos ligando um nó de origem a um nó de destino

Clique no menu Análise -> Caminhos entre Nós. Selecione o nome do nó de origem e o nome do nó de destino.

Após a análise ser executada, os resultados da análise são escritos na caixa de texto Resultados de

Análise. No caso de cálculo de determinantes de sistema e funções de transferência, é conveniente utilizar um software de manipulação simbólica para simplificar os resultados obtidos. O formato em que o McLabEn gera as respostas é compatível com vários softwares de manipulação simbólica (Maple®, Mathematica®).

7.2.3 Salvar/abrir Grafo Para salvar o grafo construído, clique no menu Arquivo -> Salvar Grafo e defina o nome do arquivo. Para carregar um arquivo de grafo salvo, clique no menu Arquivo -> Abrir e escolha o arquivo que contém o grafo.

8. Identificador de Padrões

9. Criptografia Caótica

10. Bibliografia [1] STOER, J., e BULIRSCH, R., 1980, Introduction to Numerical Analysis [2] GEAR, C. WILLIAM., 1971, Numerical Initial Value Problems in Ordinary Differential Equations [3] ADADE, A. F., Análise de Sistemas Dinâmicos

Apêndice A – Constantes Pré-Definidas As constantes relacionadas abaixo são palavras reservadas e são automaticamente convertidas

para o valor tabelado no McLabEn. Nota: os comandos diferenciam maiúsculas de minúsculas (case-sensitive). Os Constante Física Comando(s) McLabEn para acessar Valor (em unidades SI)* π Pi 3,14159265358979 Carga do elétron cte_e 1,6021765314E-19 Comprimento de onda Compton cte_lambdaC 2,42631021518E-12 Constante de Boltzmann cte_k, cte_Boltzmann 1,380650324E-23 Constante de Faraday cte_F, cte_Faraday 9,64853415E4 Constante de Planck cte_h, cte_Planck 6,626069311E-34 Constante de Rydberg cte_Rydberg 1,097373156854983E7 Constante de Stefan-Boltzmann cte_sigma, cte_StefanBoltzmann 5,6704004E-8 Constante gravitacional cte_G 6,6731E-11 Constante universal dos gases cte_R 8,31447215 Massa do elétron em repouso cte_me, cte_massaeletron 9,1093818872E-31 Massa do nêutron em repouso cte_mp, cte_massaproton 1,6726215813E-27

22

Page 93: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

Massa do próton em repouso cte_mn, cte_massaneutron 1,6749271613E-27 Número de Avogadro cte_N0, cte_Avogadro 6,0221419947E+23 Permissividade elétrica (vácuo) cte_eps0, cte_epsilon0 8,854187817E-12 Permissividade magnética (vácuo) cte_mu0, cte_mi0 1,2566370614E-6 Raio de Bohr cte_a0, cte_raioBohr 5,29177208319E-12 Unidade de massa atômica cte_uma 1,66053873E-27 Velocidade da luz no vácuo cte_c, cte_c0 2,99792458E8

* Valores obtidos no site http://physics.nist.gov/cuu/Constants (National Institute of Standards and Technology).

Apêndice B – Comandos de sistema Comando Ação executada pelo McLabEn listarvariaveis Conta o número de variáveis na memória precisao(n) Ajusta o valor da precisão a ser exibida na tela para o valor inteiro n entre 0 e 15 (inclusive).

Apêndice C – Algoritmos a Serem Implementados

• Analisador de funções reais, com cálculo numérico de derivadas e zeros das funções e suas derivadas.

• Métodos de interpolação no ambiente de gráficos 2D (e 3D) • Métodos de interpolação por meio de funções tipo: Spline(2.5;[1 2 3];[1 4 7]) (interpola uma Spline

com valores de x = [1 2 3] e y = [1 4 7] para x=2.5). • Criptografia de textos e documentos utilizando mapas unidimensionais em regime caótico. • Gráficos 3D – implementado, mas recursos podem ser adicionados. • Analisador espectral de massas de dados: série de Fourier, FFT, IFFT (implementado, mas também

pode ser melhorado) • Outros algoritmos numéricos de solução de EDOs (de passo fixo, por exemplo) • Adicionar pacotes estatísticos que permitam fazer testes de hipótese e calcular valores para as

principais distribuições aleatórias. • Fazer o sistema NÃO ESCREVER na tela variáveis muito grandes. • Implementar o algoritmo para Remover na Propagação de Incertezas

Apêndice D – Ordem das Componentes de Freqüência da FFT Considere-se um vetor complexo f(1..n) de n amostras de uma função f(t) com intervalo de amostragem ∆ (com n uma potência de 2). A tabela abaixo mostra os valores da função e seu correspondente valor de tempo:

Índice 1 2 3 ... n-2 n-1 n t(i) 0 ∆ 2∆ (n-i)∆ (n-3)∆ (n-2)∆ (n-1)∆ f(i) f(0) f(∆) f(2∆) f((n-i)∆) f((n-3)∆) f((n-2)∆) f((n-1)∆)

Consideremos agora a transformada discreta de Fourier, F(1..n). As freqüências associadas a cada

termo são (em Hertz):

Índice 1 2 3 4 ... n/2 n/2+1 n/2+2 ... n-2 n-1 n f(i) * 0 1/n∆ 2/n∆ 3/n∆ (n/2-1)/n∆ 1/2∆ -(n/2-1)/n∆ -3/n∆ -2/n∆ -1/n∆ F(i) F(f(1)) F(f(2)) F(f(3)) F(f(4)) F(f(n/2)) F(f(n/2+1)) F(f(n/2+2)) F(f(n-2)) F(f(n-1)) F(f(n))

* - Freqüência associada. O comprimento de amostragem T = (n-1)∆.

23

Page 94: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

Guia de Referência McLabEn

Apêndice E – Bugs Consertados v0.41 – Bug que fazia com que, ao abrir um grafo, o outro que estava na tela continuasse sendo exibido embora não estivesse mais na memória.

24

Page 95: Mecânica - cmsoft.com.br · Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica. REFERÊNCIA BIBLIOGRÁFICA ANDRADE, Douglas Coimbra de.

FOLHA DE REGISTRO DO DOCUMENTO

1. CLASSIFICAÇÃO/TIPO

TC

2. DATA

16 de novembro de 2005

3. DOCUMENTO N°

CTA/ITA-IEM/TC-022/2005

4. N° DE PÁGINAS

59 5. TÍTULO E SUBTÍTULO: Identificação Paramétrica de Sistemas Dinâmicos 6. AUTOR(ES):

Douglas Coimbra de Andrade 7. INSTITUIÇÃO(ÕES)/ÓRGÃO(S) INTERNO(S)/DIVISÃO(ÕES): Instituto Tecnológico de Aeronáutica. Divisão de Engenharia Mecânica-Aeronáutica – ITA/IEM 8. PALAVRAS-CHAVE SUGERIDAS PELO AUTOR:

Sistemas Dinâmicos; Identificação de Sistemas; Método de Mínimos Quadrados 9.PALAVRAS-CHAVE RESULTANTES DE INDEXAÇÃO:

Sistemas dinâmicos; Identificação de sistemas; Método dos mínimos quadrados; Desenvolvimento de software; Modelos matemáticos; Inteligência artificial; Engenharia de sistemas

10. APRESENTAÇÃO: X Nacional Internacional

Trabalho de Graduação, ITA, São José dos Campos, 2005. 58 páginas.

11. RESUMO:

A determinação de parâmetros de modelos de sinais é uma questão de relevo e etapa essencial

da análise em vários campos do conhecimento, possibilitando que o engenheiro, o pesquisador ou o profissional em geral concluam investigações e cálculos sobre o objeto de estudo através de simulações computacionais, por exemplo. Este trabalho focaliza a identificação paramétrica por mínimos quadrados, de um ponto de vista não amplamente tratado na vasta literatura técnica disponível sobre o assunto, trazendo contribuição ao tema. Em especial, considera-se o problema de identificação de parâmetros que se apresentam em várias equações de um modelo de múltiplas equações. Nessa perspectiva e contexto, é desenvolvido um software para a identificação de modelos de sinais e sistemas discretos e contínuos no tempo, utilizando um ambiente computacional de cálculo e visualização de engenharia denominado McLabEn®, também desenvolvido pelo autor. O trabalho discute ainda técnicas de discretização e filtragem para a adequação de modelos e dados para a identificação pelo método implementado. Alguns estudos simulados são realizados, focalizando aplicações específicas e relevantes de identificação de modelos, como a da dinâmica lateral de uma aeronave, entre outras, tanto no sentido de validar o software como para atestar a qualidade dos resultados obtidos e revelar as limitações da abordagem. O trabalho é concluído com sugestões para trabalhos que aprofundam as investigações e refinam a abordagem utilizada.

12. GRAU DE SIGILO: (X ) OSTENSIVO ( ) RESERVADO ( ) CONFIDENCIAL ( ) SECRETO