Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //no's mais a esquerda: a(0)+a(1)x+a(2)x^2+a(3)x^3+a(4)x^4
- p = 4 // Ordem do polinomio a ser gerado
- // Pares (x,y)
- x = [-5 -3.4 -1.9 -0.29 1.3 2.8 3.1]' // Coordenada x transposta
- y = [-0.107 -0.0826 0.411 0.986 0.901 0.098 -0.0223]' // Coordenada y transposta
- n = size(x,1)
- plot(x,y,'ro-'),xgrid // Plota grafico dos pontos
- // Monta matriz simetrica de minimos quadrados
- for i=1:p+1 //for (i=1; i<= p+1; i++)
- for j=1:p+1
- M(i,j) = sum(x.^(i+j-2)) // . elemento a elemento
- end
- end
- // Monta matriz de resultado b
- for i=1:p+1
- b(i) = sum(y.*x.^(i-1))
- end
- // Pegando os coeficientes do polinomio de ajuste
- a = inv(M)*b;
- // Monta polinomio para plotagem
- XX = -4.5:0.1:3.5 // Colocar os mesmos pontos passados por X, ou que pegue todos pontos de X pra deixar o grafico melhor
- YY = 0
- residuo = 0
- for i=1:p+1
- YY = YY+a(i)*XX.^(i-1); // Polinomio
- residuo = residuo+a(i)*x.^(i-1);
- end
- residuo = residuo - y;
- plot(XX,YY,'b-');xgrid
Add Comment
Please, Sign In to add comment