Post on 24-Nov-2018
Sistemas Computacionais e Métodos Numéricos ICurso: Engenharia Elétrica Turma: 5EEAN
Roteiro de Práticas 02Ajuste de curvas
Motivação
Problema 1: Regressão Linear
Os dados abaixo correspondem a medição da corrente (A) num fio para as tensões (V) impostas
V 2 3 4 5 7 10I 5, 2 7, 8 10, 7 13 19, 3 27, 5
Determine o valor a ser obtido pelo amperímetro quando o voltímetro estiver em 3 .5 V .
(a) Trace um gráfico dos dados (V versus I ).
(b) Use a regressão linear por mínimos quadrados para determinar uma função linear na formaI = aV + b que melhor se ajuste aos pontos do conjunto de dados.
Mínimos Quadrados
Dados o conjunto de dados (xi, f(xi)), i = 0, 1, 2, 3, ..., n com x ∈ [a, b]precisamos determinar umafunção ϕ(x) ≈ f(x).
Definimos ϕ(x) = α1g1(x) + · · ·+ αngn(x), onde gié uma função contínua em [a, b] e α1, . . . , αn ∈ R.
A escolha da função g pode ser feita
• Por meio da observação do gráfico dos pontos de f .
• A partir de informações sobre o fenômeno ao qual f se relaciona.
O conceito fundamental na aproximação de f(x)por ϕ(x)é o de melhor aproximação, ou seja, procura-se uma função ϕ(x)que minimiza o erro
|ϕ(xi)− f(xi)|, i = 0, 1, 2, 3, ..., n
No caso discreto procuramos minimizar a função F =n∑i=1
(ϕ(xi)−f(xi)2, e no caso contínuo, a função
F =∫ ba (ϕ(xi)− f(xi)
2dx.
Analizando o caso discreto temos que
F (α1, . . . , αn) =n∑i=1
(α1g1(x) + · · ·+ αngn(x)− f(xi)2
Aplicando a condição ∂F (α1,...,αn)∂αi
= 0, ∀i ∈ (1, . . . ,n)para mínimo de função temos que
∂F (α1,...,αn)∂αi
=n
2∑
k,j=1
gj(xk)[α1g1(xk) + · · ·+ αngn(xk)− f(xk)] = 0
n∑k,j=1
gj(xk)[α1g1(xk) + · · ·+ αngn(xk)] =n∑k=1
gj(xk)f(xk)
1
Sistemas Computacionais e Métodos Numéricos ICurso: Engenharia Elétrica Turma: 5EEAN
De onde resulta o seguinte sistema linear:
α1g1(xk)g1(xk) + α2g1(xk)g2(xk) + . . .+ αng1(xk)gn(xk) =n∑
k=1
g1(xk)f(xk)
α1g2(xk)g1(xk) + α2g2(xk)g2(xk) + . . .+ αng2(xk)gn(xk) =n∑
k=1
g2(xk)f(xk)
......
. . ....
...
α1gn(xk)g1(xk) + α2gn(xk)g2(xk) + . . .+ αngn(xk)gn(xk) =n∑
k=1
gn(xk)f(xk)
,
O qual pode ser escrito por meio da seguinte equação matricial Ma = ba11 a12 · · · a1n−1 a1na21 a22 · · · a2n−1 a11...
.... . .
......
an−11 an−12 · · · an−1n−1 an−1n
an1 an2 · · · ann−1 ann
α1
α2
...αn−1
αn
=
b1b2...
bn−1
bn
Dessa forma se aij =n∑k=1
gi(xk)gj(xk) = ajientão a matriz dos coeficientes deste sistema linear é
simétrica e os termos independentes são os bi =n∑k=1
gj(xk)f(xk)
Se as funções giformarem uma base ortogonal para ϕ então aij =
{= 0, se i 6= j
6= 0 se i = j. Dessa forma a
matriz M dos coeficientes é diagonala11 0 · · · 0 00 a22 · · · 0 0...
.... . .
......
0 0 · · · an−1n−1 00 0 · · · 0 ann
α1
α2
...αn−1
αn
=
b1b2...
bn−1
bn
,
logo a solução do sistema pode ser obtida diretamente por meio do cálculo dos αii = biaii
=n∑
k=1gi(xk)f(xk)
n∑k=1
gi(xk)2.
Antes de implementar o algoritmo a seguir resolva manualmente (ou utilize uma planilha eletrônica) o problema de ajuste linear para
o seguite conjunto de dados: xi 0, 3 2, 7 4, 5 5, 9 7, 8yi 1, 8 1, 9 3, 1 3, 9 3, 3
Como se trata de um ajuste linear a função de ajuste é do tipo y = ax + b. Dessa forma precisamos determinar a e b. A equação
matricial do sistema linear tem a seguinte forma
[n
∑xi∑
xi∑x2i
] [ba
]=
[ ∑yi∑xiyi
]⇒[n
∑xi
0 − 1n
(∑xi)
2 +∑x2i
] [ba
]=
[ ∑yi
− 1n
(∑xi∑yi) +
∑xiyi
]
o que resulta na seguinte solução a =n∑
xiyi−∑
xi∑
yin∑
x2i −(
∑xi )
2 = 0 , 2698 e b =a∑
xi−∑
yin
= 1, 656
O gráfico dos pontos dados e a função linear é
2
Sistemas Computacionais e Métodos Numéricos ICurso: Engenharia Elétrica Turma: 5EEAN
Algoritmo Mínimos Quadrados
1) Entrada de dados : vetor x , vetor f ( x ) , va l o r r eque r ido xr2) Calcula os somatór io de x , fx , x∗ fx e x∗xSx <−− sum(x ) ;Sfx <−− sum( fx ) ;Sxfx <−− sum(x .∗ fx ) ;Sxx <−− sum(x . ^ 2 ) ;3) Determina os va l o r e s dos c o e f i c i e n t e s da função de r e g r e s s ã oa <−− (n∗Sxfx − Sx∗Sfx )/ ( n∗Sxx − Sx^2) ;b <−− ( Sxx∗Sfx − Sxfx∗Sx )/ ( n∗Sxx − Sx^2) ;5) Aval iação da função no ponto reque r ido xry = a ( xr ) + b
Solução do problema 1: I ≈ 9, 23638A
Problema 2
A queda de tensão elétrica através de indutor segue a lei de Faraday: VL = Ldidt , onde VL é a queda
de tensão (em volts), L é a indutância (em henrys: 1 H = 1 V .s/A) e i é a corrente (em ampéres).Utilize os seguintes dados para fazer uma estimativa de L.
didt (A/s) 1 2 4 6 8 10VL (V ) 5, 5 12, 5 17, 5 32 38 49
Linearização de equações não-lineares
Problema 3
Um experimento com um circuito RC é usado para determinar a capacitância de um capacitor. Nocircuito, figura abaixo, um resistor de 5x106 ohms é conectado em série com o capacitor C e umabateria.
O experimento começa com o fechamento da chave e a medição da tensão vR nos terminais doresistor em intervalos de 2 segundos, ao longo de 30 segundos. Os dados medidos no experimentossão:
t(s) 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30vR(V ) 9, 7 8, 1 6, 6 5, 1 4, 4 3, 7 2, 8 2, 4 2, 0 1, 6 1, 4 1, 1 0, 85 0, 69 0, 6
Teoricamente, a tensão no resistor em função do tempo é dada pela função exponencial:
vR = ve(−t/RC)
Determine a capacitância do capacitor ajustando a função exponencial aos dados medidos.
Funções não-lineares
Função de potência: y = bxm
Função exponencial: y = bemx ou y = b10mx
Função inversa: y = 1mx+b ou y = mx
x+b
3
Sistemas Computacionais e Métodos Numéricos ICurso: Engenharia Elétrica Turma: 5EEAN
Linearizando funções não-lineares
Vamos linearizar a função y = bxm
y = bxm −→ ln(y) = ln(bxm) = mln(x) + ln(b)
Considerando ln(y) = Y ,m = a1 ,ln(x) = X e ln(b) = a0 obtemos a função linear Y = a1X + a0.Assim podemos aplicar uma regressão linear por mínimos quadrados para ajustar um conjunto depontos (xi, f(xi)). Com base nos valores de a1e a0em Y = a1X + a0, podemos calcular b e m emy = bxm pois, b = ea0 e m = a1.
Para outras funções não-lineares confira as transformações possíveis na tabela a seguir:
Equação Forma linear Y = a1X + a0 Valores para regressão linear
y = bxm ln(y) = mln(x) + ln(b) Y = ln(y) ,X = ln(x), a1 = m,a0 = ln(b) ln(xi) e ln(yi)
y = bemx ln(y) = mx+ ln(b) Y = ln(y) ,X = x, a1 = m,a0 = ln(b) xi e ln(yi)
y = b10mx log(y) = mx+ log(b) Y = log(y) ,X = x, a1 = m,a0 = log(b) xi e log(yi)
y = 1mx+b
1y
= mx+ b Y = 1y,X = x, a1 = m,a0 = b xi e 1
yi
y = mxx+b
1y
= bmx
+ 1m
Y = 1y,X = 1
x, a1 = b
m,a0 = 1
m1xi
e 1yi
Considerações sobre a escolha da função a ser linearizada apropriada para realizar o ajuste:
• Quando possível, verificar a equação matemática que modela o fenômeno;
• Plotar o gráfico do pontos conforme indicação da tabela a seguir;
• Funções exponenciais: não podem passar pela origem e todos os valores de y são positivos ounegativos;
• Funções logarítmicas: não podem incluir x = 0 ou valores negativos de x;
• Função de potência: y = 0 quando x = 0;
• Função inversa: não pode incluir y = 0
Equacao Gráficos onde os dados parecem se ajustar a uma reta
y = bxm loglog (x vs. y) ou linear (ln(x) vs. ln(y))
y = bemx semilog (x vs. y) ou linear (x vs. ln(y))
y = b10mx semilog (x vs. y) ou linear (x vs. ln(y))
y = 1mx+b
linear (x vs. 1y)
y = mxx+b
linear ( 1xvs. 1
y)
Exercício 1
Para os dados do problema inicial a função exponencial é adequada. Construa um programa queplote os gráficos semi-log (x vs. y) ou linear (x vs. ln(y)) e analise os resultados:
Exercício 2
Repita o mesmo procedimento para as outras funções lineares adequando o gráfico conforme aúltima coluna da tabela acima. Com base nos gráficos gerados avalie quais modelos poderiam serutilizados para linearizar a função do problema 3.
4
Sistemas Computacionais e Métodos Numéricos ICurso: Engenharia Elétrica Turma: 5EEAN
Resolvendo o problema de capacitância.
Conforme esperado, uma função exponencial se ajusta bem aos dados. Para resolver o problemainicial, primeiramente determinamos as constantes b e m na função exponencial v = bem. Isso éfeito com a linearização dessa equação e com o uso da regressão linear por mínimos quadrados. Aregressão linear por mínimos quadrados foi desenvolvida na Prática 2. As entradas da função sãoos valores (ti, ln(vR)i) . Obtidos b e m , o valor de C é determinado igualando-se os coeficientes noexpoente de e em vR = ve(−t/RC):
−1RC = m −→ C = −1
Rm
Exercício 3
Construa um programa que resolva o problema de capacitância. Utilize o algoritmo abaixo.
Programa ajuste com linearização de função não-linear
Algoritmo
1) Entrada de dados : texp , vexp ,R = 5e62) Calcu le ln ( y i ) para uso na r e g r e s s ã o l i n e a r : lnvexp = log ( vexp ) ;3) Ca lcu le os c o e f i c i e n t e s a0 e a1 por meio o método dos mínimos quadrados . U t i l i z a r a função de r e g r e s s ã o l i n e a r reg_l in ( ) .No programa p r i n c i p a l chame a função por meio da d i r e t r i z : r eg_l in ( texp , lnvexp )4) Calcu le b a a p a r t i r de ln (b) = a0 : b = exp ( a0 )5) Ca lcu le C u t i l i z a ndo (−1/Rm) , onde m = a1 : C = (−1)/(R∗a1 )6)Gere um domínio l i n e a r i z ado , onde 0 < t < 30 ;7)Gere uma imagem l i e n a r i z a d a : v = b∗exp ( a1∗ t ) ;8) Escreve os r e su l t ado s de a1 , a0 , b e C num arquivo de sa ída .9) Plote g r a f i c o dos pontos e da função de r e g r e s s ã o .
Implementação da função definida pelo usuário reg_lin()
double reg_l in (x , fx )% função r e g r e s s ã o l i n e a r c a l c u l a os c o e f c i e n t e s a e b da equação l i n e a r% y = a∗x + b que melhor a ju s ta os n pontos do conjunto de dados (x , fx )%Esta função deve s e r i n s e r i d a no mesmo arquivo do programa p r i n c i p a lnx = length (x ) ;nfx = length ( fx ) ;i f ( nx ~= nfx ){
f p r i n t ( ’O número de e lementos de x deve s e r i g ua l ao numero de e lementos de fx . ’ )}e l s e {
Sx = sum(x ) ;Sfx = sum( fx ) ;Sxfx = sum(x .∗ fx ) ;Sxx = sum(x . ^ 2 ) ;
a = (nx∗Sxfx − Sx∗Sfx )/ ( nx∗Sxx − Sx^2) ;b = (Sxx∗Sfx − Sxfx∗Sx )/ ( nx∗Sxx − Sx^2) ;
}
Valor esperado para C = 1 .9968e−06 ≈ 2 µF
5
Sistemas Computacionais e Métodos Numéricos ICurso: Engenharia Elétrica Turma: 5EEAN
Problema 4
Um anemômetro de fio quente é um dispositivo usado para medir a velocidade de fluxo a partir doefeito de resfriamento causado pelo fluxo na resistência de um fio quente.
Os dados a seguir são obtidos em testes de calibração.
Teste 1 u(m/s) 1, 44 3, 81 6, 11 8, 63 11, 42 12, 63 14, 75 16, 78V (volt) 7, 18 7, 3 7, 37 7, 42 7, 47 7, 5 7, 53 7, 55
Teste 2 u(m/s) 20, 35 18, 03 16, 03 14, 39 13, 03 9, 97 7, 75 2, 49V (volt) 7, 58 7, 56 7, 55 7, 53 7, 51 7, 47 7, 44 7, 28
Exercício 1.
Determine os coeficientes A e B da função exponencial u = AeBV que faz o melhor ajuste dos dadospara cada teste cujos valores estão nas tabelas acima.
Exercício 2.
Trace um gráfico com os pontos do conjunto de dados de cada teste e os respectivos modelos deajuste.
Problema 5
No processo de fabricação de fibras eletroforéticas, o diâmetro d da fibra está relacionado à correnteI . Os seguintes dados são medidos durante a produção:
I(nA) 300 300 350 400 400 500 500 650 650d(µm) 22 26 27 30 34 33 33, 5 37 42
A relação entre a corrente e o diâmetro pode ser modelada com uma equação na forma d = a + b√I
. Use os dados para determinar as constantes a e b da equação que fazem o melhor ajuste dosdados.
6