Anda di halaman 1dari 5

Matéria: Cálculo Numérico

Relatório do projeto 1
Professora: Rafaela Souza
Aluno: Juan Martin Leroux

1. Introdução
Neste trabalho será apresentada uma implementação em C++ do cálculo dos polos e zeros de uma
função transferência de um sistema de controle genérico para representar esse sistema através do
diagrama de BODE.

2. Apresentação do problema escolhido

2.1 Uma Função de Transferência é utilizada para


representar um sistema em termos da relação de uma
entrada aplicada ao sistema e a saída obtida.
Normalmente é utilizada para representar sistemas
mecânicos controlados ou não e circuitos
eletrônicos, mas pode ser utilizada para representar
basicamente qualquer sistema no qual é possível
aplicar uma entrada, seja ela uma força, um
deslocamento, um nível de tensão ou qualquer coisa
que tire o sistema do equilíbrio ou inercia inicial, e
coletar a saída no tempo, ou seja algo que represente matematicamente o que ocorre com o
sistema após a entrada com o passar do tempo.
As funções de transferência são muito aplicadas principalmente em processamento de sinais,
teoria da comunicação, teoria do controle e automação e análise de circuitos. Essas funções são
utilizadas para representar exclusivamente sistemas lineares e invariantes no tempo, porem como
a maior parte dos sistemas reais são não lineares aproximações são utilizadas para tornar a
representação desses sistemas por funções de transferência aceitável.
A baixo a representação de um circuito elétrico através de uma função de transferência que será
utiliza no trabalho:

Para obter a função transferência temos que encontrar a equação a relação da saída Eo(s) com a
entrada Ei(s):
1
1 𝑉(𝑠) ∗ 𝐿 ∗ 𝐶
= (1)
𝐸𝑖 (𝑠) 𝑠 2 + 𝑠 ∗ 𝑅 + 1
𝐿 𝐿∗𝐶
−𝐾𝑉(𝑠)
𝐸𝑜 (𝑠) = (2)
1,25 ∗ 𝑠 ∗ 𝑅 ∗ 𝐶 + 1
−𝐾
𝐸𝑜 (𝑠) 𝐿 ∗ 𝐶 ∗ 1,25 ∗ 𝑅 ∗ 𝐶
𝐻(𝑠) = = (3)
𝐸𝑖 (𝑠) 𝑅 𝑠
𝑠3 + 𝑠2 ∗ (𝐿 ) + 𝐿 ∗ 𝐶
2.2 Os Polos e Zeros de uma função de transferência são basicamente as raízes do
denominador e do numerador da função, respectivamente. Zeros são os que fazem a função H(s)
tender ao infinito H(s) −> ∞, os polos por sua vez fazem a função H(s) tender zero H(s) −> 0.

2.3 O Diagrama de Bode é uma representação gráfica da resposta do sistema a uma


entrada unitária no domínio da frequência, não mais do tempo como costumam-se analisar os
sistemas. O diagrama de Bode é a ferramenta visual mais usada para o estudo de uma resposta
em frequência. Pode-se obtê-la de duas formas:

 Experimentalmente - Medindo-se ponto a ponto o ganho de um sistema


 Teoricamente - Através da função de transferência teórica do sistema, pode-se facilmente desenhar
um diagrama de Bode correspondente

Neste trabalho estaremos realizando a segunda forma.

3. Desenvolvimento

Utilizando a função de transferência do exemplo apresentado, (equação 3), através dos métodos
numéricos da Iteração Linear e do método das cordas encontraremos as raízes do denominador e
numerador da nossa função de transferência, a fim de definir os polos e zeros. Como o numerador
é apenas uma constante, esta função não possui zeros, apenas polos, desta forma faremos a
análise através dos métodos numéricos, apenas do denominador.
𝑅 𝑠
𝑠3 + 𝑠2 ∗ ( ) +
𝐿 𝐿∗𝐶
Os valores de K, R, L e C serão 2, 125ohms, 5H e 9.3mF, respectivamente, com isso temos a
função:
29.5987
𝑌(𝑠) = 3
𝑠 + 𝑠 2 ∗ 25 + 𝑠 ∗ 21.505

3.1 Método da Iteração Linear:


Para utilizar este método encontrou-se a função φ(s) como são 3 raízes encontramos as três
equações a baixo:

𝜑1 (𝑠) = (−0.139502 ∗ 𝑠 − 2,32504) ∗ 𝑠

(−1.94935 ∗ 𝑠 − 0.838413)
𝜑2 (𝑠) = 3
√−𝑠 ∗ (𝑠 + 0.8602)

(0.3 ∗ 𝑠 2 + 7.16833)
𝜑3 (𝑠) =
√(−𝑠 3 − 21,505 ∗ 𝑠

Se utilizarmos as três funções encontraremos as três raízes da função, porem há um problema, a


função φ2(s) é uma função do conjunto dos complexos, visto que para todo s ϵ {R} teremos um
φ2(s) que só não será ϵ {C} num intervalo muito pequeno pois o denominador será quase sempre
uma raiz negativa. Desta forma não foi possível calcular esta raiz pelo método.
Utilizando como entrada no programa o intervalo [a,b] = [-30 , 30] e ε1 = ε2 = 0.00001 foi possível
encontrar as raízes a baixo

X1 = -23.898541
X2 = 0

3.2 Método das Cordas


Para utilizar o método das cordas encontrou-se a segunda derivada da função de forma a verificar
o critério de convergência na escolha de x0 e x1 iniciais.

𝑌’’(𝑠) = 6 ∗ 𝑠 + 50

Utilizando o método das cordas também com o intervalo [a,b] = [-30 , 30] e ε1 = ε2 = 0.00001 foi
possível encontrar a raiz a baixo:

X1 = -24.108001

As raízes do denominador da função encontrados no MatLab são:

s = 0;
s = -24.108;
s = -0.892;

Comparando as raízes encontradas pelos métodos numéricos vemos que os valores encontrados
se aproximam dos valores das raízes.

4. Apresentação dos resultados

4.1 A seguir está uma análise gráfica dos erros absolutos a cada iteração em cada um dos
métodos numéricos.
Comparação Erro Absoluto entre: Iteração Linear X Cordas
60

50

40
Erro Absoluto

30

20

10

0
k 0 1 2 3 4 5 6 7 8 9 10 11
0 37.069 7.9537 5.7141 4.0026 2.7430 1.8395 1.2027 0.7592 0.4528 0.2423 0.0983 0.0000
0 54.108 0.3086 0.1169 0.0000
Numero da Iteração

Figura 1: Gráfico comparando a evolução do erro absoluto de ambos os métodos.

4.2 A baixo está uma análise gráfica dos erros relativos a cada iteração em cada um dos
métodos numéricos.

Comparação Erro Relativo entre: Iteração Linear


X Cordas
2.5

2
Erro Relativo

1.5

0.5

0
k 0 1 2 3 4 5 6 7 8 9 10 11
0 1.5511 0.3328 0.2391 0.1675 0.1148 0.0770 0.0503 0.0318 0.0189 0.0101 0.0041 0.0000
0 2.2444 0.0128 0.0048 0.0000
Número da iteração

Figura 2: Gráfico comparando a evolução do erro relativo de ambos os métodos.


4.3 A baixo pode-se ver o comparativo gráfico entre os resultados apresentados após a
aplicação dos 2 métodos numéricos diferentes.

Comparação entre raizes calculadas a cada iteração nos


dois métodos
40.0000

30.0000

20.0000
Valor da Raiz

10.0000

0.0000
0 2 4 6 8 10 12 14
-10.0000

-20.0000

-30.0000
Número da Iteração

Figura 3: Este gráfico mostra a evolução dos valores das raízes encontradas em cada método.

5. Conclusão
No presente trabalho foi possível verificar algumas diferenças entre os dois métodos
numéricos analisados como a melhor eficiência do método das cordas, além de sua mais fácil
implementação, pois não é necessário encontrar as funções φ(s).
Neste trabalho foi possível melhorar as habilidade de programação em C++ e de logica de
programação, também foi uma oportunidade pra entender melhor o funcionamento de ambos os
métodos e visualizar seu funcionamento através da análise gráfica.