regressão não linear - exemplo 500 · regressão não linear - exemplo tabela de valores para um...
TRANSCRIPT
Regressão não linear - Exemplo
Tabela de valores para um objecto
suspenso num túnel de vento, força em
função da velocidade.
2013/04/30 MN 1
V (m/s) 10 20 30 40 50 60 70 80
F (N) 25 70 380 550 610 1220 830 1450
10 20 30 40 50 60 70 800
500
1000
1500
v (m/s)
F (
N)
Regressão não linear - Exemplo
Vamos fazer a minimização dos quadrados
com a função
function f = fSSR( a,xm,ym )
yp = a(1)*xm.^a(2);
f=sum((ym-yp).^2);
end
2013/04/30 MN 2
bavF
Regressão não linear - Exemplo
x
x =
10 20 30 40 50 60 70 80
y
y =
Columns 1 through 6
25 70 380 550 610 1220
Columns 7 through 8
830 1450
>> fminsearch(@fSSR,[1,1],[],x,y)
ans =
2.5384 1.4359
2013/04/30 MN 3
Sinusóides
Vamos considerar sempre o coseno (é
indiferente, mas temos de assentar numa
das funções.
Uma sinusóide pode, de uma forma geral,
ser representada por
Em que A0 é o valor médio acima do eixo
das abcissas, C1 é a amplitude,
2013/04/30 MN 6
)cos()( 10 tCAtf
Sinusóides
0 é a frequência
angular e é a fase
inicial. Na figura b)
temos uma
decomposição da
mesma função.
2013/04/30 MN 7
Sinusóides
A decomposição em duas sinusóides sen e
cos tem a vantagem de evitar a soma
dentro da função
2013/04/30 MN 8
)(senB e )cos(
)sen()cos()cos()(
)sen()(sen)cos()cos()cos(
1111
01010010
00101
CCA
com
tBtAAtCAtf
ttCtC
Sinusóides
2013/04/30 MN 10
0 2 4 6 8 10 12 14-1
-0.5
0
0.5
1
1.5
2
2.5
3
0 2 4 6 8 10 12 14-1
-0.5
0
0.5
1
1.5
2
2.5
3
Interpolação polinomial
Interpolação é a operação pela qual
fazemos passar uma função por um
conjunto de pontos dados, com o objectivo
de encontrar valores aproximados para
pontos intermédios. No caso dos pontos a
obter estarem fora do intervalo definido
pelos pontos dados, falamos de
extrapolação.
2013/04/30 MN 11
Interpolação polinomial
Se a função utilizada é um polinómio,
estamos a falar de Interpolação poli-
nomial. Exemplos de interpolação, grau 1,
2 e 3, respectivamente.
2013/04/30 MN 12
Interpolação polinomial
Para n pontos só existe um polinómio que
passa por todos os pontos e que tem grau
n-1.
2013/04/30 MN 13
nn
nn
n
n
pxpxpxpxf
xaxaxaxaaxf
1
2
2
1
1
13
4
2
321
...)(
aveMatlab/Oct em como ou,
...)(
Interpolação polinomial
O processo mais simples de determinação
dos coeficientes é resolver um sistema de
n equações a n incógnitas. No entanto,
este procedimento pode conduzir a erros
de cálculo bastante elevados.
2013/04/30 MN 14
Interpolação polinomial
Exemplo 1 clear all
format long
A=[90000 300 1;160000 400 1;250000 500 1];
b=[0.616 0.525 0.457]';
p=A\b
corresponde a
2013/04/30 MN 15
bpxpxp 32
2
1
p =
0.000001150000000
-0.001715000000000
1.027000000000000
Interpolação polinomial
Exemplo 2
T=[300 400 500];
>> dens=[0.616 0.525 0.457];
>> p=polyfit(T,dens,2)
p =
0.000001150000000 -0.001715000000000 1.027000000000001
>> d=polyval(p,350)
d =
0.567625000000000
2013/04/30 MN 16
Interpolação polinomial
Para evitar os erros de resolução de
sistemas podemos empregar vários outros
métodos.
Um dos mais utilizados é o método
polinomial de Newton.
2013/04/30 MN 17
))((3)()()(2
)()()(1
NewtonSimplesOrdem
211212
2
3212
1211211
xxxxbxxbbxfxaxaaxfnd
xxbbxfxaaxfst
Polinómios de Newton
• O polinómio de primeira
ordem pode ser obtido
através do uso de inter
polação linear e triângulos
semelhantes..
• A fórmula resultante deve-
se ao conhecimento dos
pontos 1 e 2, a partir dos
quais se calcula f(x).
2013/04/30 MN 18
1
12
1211 xx
xx
xfxfxfxf
Polinómios de Newton
• Na segunda ordem
introduzimos alguma
curvatura.
• O resultado corresponde a
três pontos 1, 2 e 3.
2013/04/30 MN 19
f2 x f x1 f x2 f x1 x2 x1
x x1
f x3 f x2 x3 x2
f x2 f x1 x2 x1
x3 x1x x1 x x2
Polinómios de Newton
Esta expressão provem de se fazer passar
a parábola pelos três pontos:
2013/04/30 MN 20
13
12
12
23
23
3
12
122
1111
2131212
)()()()(
Para
)()( Para
)( fazemos Para
)(
xx
xx
xfxf
xx
xfxf
xx
xx
xfxfxx
xfbxxb
xxxxbxxbbxf
Polinómios de Newton
Em geral todos os termos da ordem n-1 dos polinómios de
Newton contêm todos os da ordem n-2 mais um termo
extra.
A expressão geral é
em que
2013/04/30 MN 21
fn1 x b1b2 x x1 bn x x1 x x2 x xn1
b1 f x1
b2 f x2, x1
b3 f x3, x2, x1
bn f xn, xn1, , x2 , x1
Sendo f[….] as diferenças divididas.