• Nenhum resultado encontrado

Sumário Algoritmo de ajuste polinomial utilizando os Mínimos Quadrados Algoritmo de ajuste polinomial utilizando os Mínimos Quadrados

N/A
N/A
Protected

Academic year: 2021

Share "Sumário Algoritmo de ajuste polinomial utilizando os Mínimos Quadrados Algoritmo de ajuste polinomial utilizando os Mínimos Quadrados"

Copied!
9
0
0

Texto

(1)

Ajuste de Curvas: Método dos Mínimos Quadrados

Sumário

Algoritmo de ajuste polinomial utilizando os Mínimos Quadrados ... 1

Diagrama de Bloco ... 3

Exemplo ... 5

Programação no Scilab. ... 8

Algoritmo de ajuste polinomial utilizando os Mínimos

Quadrados

Dados Iniciais  Ler n, quantidade de pontos a ajustar  Ler m, grau do polinômio de ajuste  Ler (x[i],y[i]), par ordenado a ser ajustado  Ler z, valor a ser avaliado no polinômio de ajuste {Formação do sistema de equações lineares} Para i de 1 até m+1 passo 1 faça k1=i-1 k2=i-1 s1=0 Para j de 1 até m+1 passo 1 faça s2=0 Se (i=1 e j=1) então a[i,j]=n senão Para l de 1 até n passo 1 faça s2=s2 + x[l]k2 Fim_Para a[i,j]=s2 Fim_Se k2=k2+1 Fim_Para Se i=1 então Para p de 1 até n passo 1 faça s1=s1+y[p] Fim_Para senão Para p de 1 até n passo 1 faça s1=s1+x[p]k1*y[p] Fim_Para Fim_Se b[i]=s1 Fim_Para m=m+1 {Resolução do sistema de equações lineares pelo método de Gauss} {Transformação a matriz triangular superior} Para k de 1 até m-1 passo 1 faça Para i de k+1 até m passo 1 faça 1 [ , ] [ , ] a i k m a k k  a[i,k]=0

(2)

Fim_Para Fim_Para

{Resolução de a matriz triangular superior}

[ ] [ ] [ , ] b m c m a m m

Para k de m-1 até 1 passo -1 faça s=0

Para j de k+1 ate m passo 1 faça s=s+a[k,j]*c[j] ] , [ ) ] [ ( ] [ k k a s k b k c   Fim_Para

{Coeficientes do polinômio de Ajuste}

f=0

Para i de 1 até m passo 1 faça Escreva c[i]

Se i=1 então f=f+c[i] senão f=f+c[i]*zi-1 Fim_Se Fim_Para

(3)

Diagrama de Bloco

Inicio n, m, x[i], y[i] i1,m+1,1 k1i-1 k2i-1 s1i-1 j1,m+1,1 s2s2+x[l]k2 a[i,j] s2 S20 l1,n,1 p1,n,1 s1s1+x[p]k1*y[p] b[i] s1 i=1 e j=1 a[i,j] n k2k2+1 V F

(4)

mm+1 Cont k1,m-1,1 ik+1,m,1 m1a[i,k]/a[k,k] a[i,k] 0 jk+1,m,1 a[i,j] a[i,j]-m1*a[k,j] b[i] b[i]-m1*b[k] x[m] b[m]/a[m,m] km-1,1,-1 s0 jk+1,m,1 ss+a[k,j]*x[j] x[k]  (b[k]-s)/a[k,k] x[i] Fim

(5)

Exemplo

Dado os pontos:

x 0 0.25 0.5 0.75

y 1 1.284 1.6487 2.1170

Obter o ajuste linear y calcule x=2

Dados Iniciais

 Ler n=4, quantidade de pontos a ajustar  Ler m=1, grau do polinômio de ajuste  Ler (x[i],y[i]), par ordenado a ser ajustado

x[1] x[2] x[3] x[4] Y[5]

x 0 0.25 0.5 0.75 1

y 1 1.284 1.6487 2.1170 2.7183

y[1] y[2] y[3] y[4] y[5]

{formação do sistema de equações lineares}

Para i de 1 até 2 passo 1 faça k1=1-1=0

k2=1-1=0 s1=0

Para j de 1 até 2 passo 1 faça s2=0

Como (1=1) e (1=1) então a[1,1]=5 k2=0+1=1

Fim_Para j=1

Para j de 2 até 2 passo 1 faça s2=0

Como (1=1) e (2<>1)

Para l de 1 até 5 passo 1 faça s2=s2 + x[1]1 =0+01=0 Fim_Para l=1

Para l de 2 até 5 passo 1 faça s2=s2 + x[2]1 =0+(0.25)1=0.25 Fim_Para l=2 Para l de 3 até 5 passo 1 faça s2=s2 + x[3]1 =0.25+(0.5)1=0.75 Fim_Para l=3 Para l de 4 até 5 passo 1 faça s2=s2 + x[4]1 =0.75+(0.75)1=1.5 Fim_Para l=4 Para l de 5 até 5 passo 1 faça s2=s2 + x[5]1 =1.5+(1)1=2.5 Fim_Para l=5 a[1,2]=2.5

k2=1+1=2 Fim_Para j=1 Como i=1 então

Para p de 1 até n passo 1 faça s1=s1+y[1]=0+1=1 Fim_Para p=1

Para p de 2 até n passo 1 faça s1=s1+y[2]=1+1.284=2.284 Fim_Para p=2 Para p de 3 até n passo 1 faça s1=s1+y[3]=2.284+1.6487=3.9327 Fim_Para p=3 Para p de 4 até n passo 1 faça s1=s1+y[4]=3.9327+2.1170=6.0497 Fim_Para p=4 Para p de 5 até n passo 1 faça s1=s1+y[5]=6.0497+2.7183=8.768 Fim_Para p=5 b[1]=8.768

Fim_Para i =1

Para i de 2 até 2 passo 1 faça k1=2-1=1

(6)

s1=0

Para j de 1 até 2 passo 1 faça s2=0

Como (2<>1) e (1=1)

Para l de 1 até 5 passo 1 faça s2=s2 + x[1]1 =0+01=0 Fim_Para l=1

Para l de 2 até 5 passo 1 faça s2=s2 + x[2]1 =0+(0.25)1=0.25 Fim_Para l=2 Para l de 3 até 5 passo 1 faça s2=s2 + x[3]1 =0.25+(0.5)1=0.75 Fim_Para l=3 Para l de 4 até 5 passo 1 faça s2=s2 + x[4]1 =0.75+(0.75)1=1.5 Fim_Para l=4 Para l de 5 até 5 passo 1 faça s2=s2 + x[5]1 =1.5+(1)1=2.5 Fim_Para l=5 a[2,1]=2.5

k2=1+1=2 Fim_Para j=1

Para j de 2 até 2 passo 1 faça s2=0

Como (2<>1) e (2<>1)

Para l de 1 até 5 passo 1 faça s2=s2 + x[1]2 =0+02=0 Fim_Para l=1

Para l de 2 até 5 passo 1 faça s2=s2 + x[2]2 =0+(0.25)2=0.0625 Fim_Para l=2 Para l de 3 até 5 passo 1 faça s2=s2 + x[3]2 =0.0625+(0.5)2=0.3125 Fim_Para l=3 Para l de 4 até 5 passo 1 faça s2=s2 + x[4]2 =0.3125+(0.75)2=0.875 Fim_Para l=4 Para l de 5 até 5 passo 1 faça s2=s2 + x[5]2 =0.875+(1)2=1.875 Fim_Para l=5 a[2,2]= 1.875

k2=2+1=3 Fim_Para j=2 Como 2<>1 então

Para p de 1 até 5 passo 1 faça s1=s1+x[1]1*y[1]=0+0*1=0 Fim_Para p=1

Para p de 2 até 5 passo 1 faça s1=s1+x[2]1*y[2]=0+(0.25)1(1.284)= 0.321 Fim_Para p=2

Para p de 3 até 5 passo 1 faça s1=s1+x[3]1*y[3]= 0.321+(0.5)1(1.6487)=1.14535 Fim_Para p=3

Para p de 4 até 5 passo 1 faça s1=s1+x[4]1*y[4]= 1.14535+(0.75)1(2.1170)= 2.7331 Fim_Para p=4

Para p de 5 até 5 passo 1 faça s1=s1+x[5]k1*y[5]= 2.7331+(1)1(2.7183)= 5.4514 Fim_Para p=5

b[2]=5.4514 Fim_Para i =2 m=1+1=2

{resolução do sistema de equações lineares pelo método de Gauss} {transformação a matriz triangular superior}

Para k de 1 até 1 passo 1 faça Para i de 2 até 2 passo 1 faça 1 [2,1] 2.5 0.5 [1,1] 5 a m a    a[2,1]=0

Para j de 2 até 2 passo 1 faça

a[2,2]=a[2,2]-m1*a[1,2]=1.875-(0.5)(2.5)= 0.625 Fim_Para j=2 b[2]=b[2]-m1*b[1]=5.4514-(0.5)(8.768)= 1.0674

Fim_Para i=2 Fim_Para k=1

(7)

[2] 1.0674 [2] 1.70784 [2, 2] 0.625 b c a   

Para k de 1 até 1 passo -1 faça s=0

Para j de 2 ate 2 passo 1 faça s=s+a[1,2]*c[2]=0+(2.5)(1.70784)= 4.2696 Fim_Para j=2 [1] ( [1] ) (8.768 4.2696) 0.89968 [1,1] 5 b s c a      Fim_Para

{coeficientes do polinômio interpolador}

f=0

Para i de 1 até 2 passo 1 faça Escreva c[1]=0.89968

Como i=1 então f=f+c[1]=0+0.89968 Fim_Para i=1

Para i de 2 até 2 passo 1 faça Escreva c[2]=1.70784

Como 2=1 é falso f=f+c[i]*zi-1=0.89968+1.70784*(2)1=4.31536 Fim_Para i=2

(8)

Programação no Scilab.

function p=MinimoQ(x, y, g) //Formação do Sistema Linear m=length(x) n=g+1 a=zeros(n,n) b=zeros(n,1) for i=1:1:n k1=i-1 k2=i for j=1:1:n if j==1 a(1,1)=m else s=0 for k=1:1:m,s=s+x(k)^(k2),end a(i,j)=s a(j,i)=a(i,j) k2=k2+1 end end s=0 if i==1

for k=1:1:m,s=s+y(k),end

else

for k=1:1:m,s=s+y(k)*x(k)^(k1),end

end

b(i)=s k1=k1+1

end

//Resolução do Sistema Linear // Matriz triangular superior for k=1:1:n-1 for i=k+1:1:n m = a(i,k)/a(k,k) a(i,k)=0 for j=k+1:1:n a(i,j)=a(i,j)-m*a(k,j) end b(i)=b(i)-m*b(k) end end // Solução do sistema x=zeros(n,1) x(n)=b(n)/a(n,n) for k=n-1:-1:1 s=0 for j=k+1:1:n

(9)

s=s+a(k,j)*x(j) end

x(k)=(b(k)-s)/a(k,k) end

//Formação do polinomio de ajuste de curvas p=poly(x ,"x","coeff") endfunction // Exemplo x = [0;0.25;0.5;0.75;1] y = [1;1.284;1.6487;2.1170;2.7183] p = MinimoQ(x,y,1) p = MinimoQ(x,y,2) p = MinimoQ(x,y,3)

Referências

Documentos relacionados

Um modelo de avaliação, baseado na ISO 12207, é o definido na ISO 15504; Neste último, os processos são agrupados em cinco grandes categorias de O SPICE estabelece um

• Ficha para coleta de dados laboratoriais (Anexo 4) e ficha para coleta de dados sobre evolução diária da dieta no período pré-operatório, onde constarão a dieta prescrita e

[r]

Todos os termogramas dos tijolos de Igarassu e Forte do Brum apresentaram um pequeno pico endotérmico a 100°C devido a perda de água adsorvida, seguido de outro evento

A junção de todas as informações, de todos os dados de cada gráfico e de cada tabela obtidos de cada um deles forneceu a visão global dos dados do trabalho, indicando: campos de

a) Somente aos farmacêuticos que optarem pelo pagamento da contribuição sindical na forma de boleto bancário para profissional liberal no valor de R$ 175,00

As Empresas deverão estar dotadas de refeitórios nos padrões exigidos pela legislação em vigor, com fornecimento de alimentação ao trabalhador, conforme preceituam

Palavras-chave: Bancos, vari´ aveis financeiras, an´ alise de clusters, crises banc´ arias, supervisor banc´ ario, ´ındice de solidez,