![]() |
||||||||
![]() |
![]() |
![]() |
![]() |
|||||
![]() |
||||||||
![]() |
||||||||
![]() |
![]() |
|||||||
![]() |
||||||||
![]() |
||||||||
![]() |
||||||||
![]() |
||||||||
![]() |
||||||||
!Create X summation matrix for Dth polynomial
DO i = 1,d+1
DO j = 1,d+1
!Go through length of point matrix for summation
sum1 = 0.0
DO k = 1,n
IF (j+i-2 == 0) THEN
sum1 = sum1 + 1
ELSEIF (p(k,1) == 0.0) THEN
sum1 = sum1 + 0
ELSE
sum1 = sum1 + p(k,1)**(j+i-2)
ENDIF
ENDDO
A(i,j) = sum1
ENDDO
ENDDO
!Create Y summation matrix of Fn and Xn variables
DO i = 1,d+1
sum1 = 0.0
DO k = 1,n
IF (i-1 == 0) THEN
sum1 = sum1 + p(k,2)
ELSEIF (p(k,1) == 0.0) THEN
sum1 = sum1 + 0
ELSE
sum1 = sum1 + p(k,2)*(p(k,1)**(i-1))
ENDIF
ENDDO
B(i) = sum1
ENDDO
!Inverse A
CALL inverse(d+1,A,AI)
!Multiply A^-1 by B to get the coefficients
coef = MATMUL(AI, B)
!Now check standard deviation versus standard error
!If SE < SD, then it’s a good fit
!Standard Deviation
favg = SUM(p(1:n,2))/real(n) !F average / F bar
sum1 = 0.0
DO i = 1,n
sum1 = sum1 + (p(i,2) - favg)**2
ENDDO
sd = SQRT(sum1/(real(n)-1.))
!Standard Error
sum1 = 0.0
sum2 = 0.0
DO i = 1,n
sum2 = 0.0
DO j = 1,d+1
IF (j-1 == 0) THEN
sum2 = sum2 + coef(j)
ELSEIF (p(i,1) == 0) THEN
sum2 = sum2
ELSE
sum2 = sum2 + coef(j)*(p(i,1)**(j-1))
ENDIF
ENDDO
sum1 = sum1 + (p(i,2) - sum2)**2
ENDDO
se = SQRT(sum1/(n-2))
!Other computations
!Norm Error
sum1 = 0.0
DO i = 1,n
sum2 = 0.0
DO j = 1,d+1
IF (j-1 == 0) THEN
sum2 = sum2 + coef(j)
ELSEIF (p(i,1) == 0) THEN
sum2 = sum2
ELSE
sum2 = sum2 + coef(j)*(p(i,1)**(j-1))
ENDIF
ENDDO
sum1 = sum1 + (p(i,2) - sum2)**2
ENDDO
ne = SQRT(sum1)
Next Page →
Next Page →
← Previous Page
← Previous Page













