23.10.2014 Views

Numerical Analysis Programs Using Fortran 90 - University of ...

Numerical Analysis Programs Using Fortran 90 - University of ...

Numerical Analysis Programs Using Fortran 90 - University of ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Problem:<br />

Write a program to determine the parameters A & B so that<br />

A<br />

f ( x)<br />

= + B , fits the following data in least squares sense.<br />

x<br />

X 0.5 2 3.5 4.1 5 6.2 7.5 9.2<br />

y 3.3 2 1.4 1.2 1 0.8 0.64 0.5<br />

program List_Square_Fitting<br />

dimension x(20),y(20),f(20)<br />

n=8<br />

data (x(i), i=1,8)/.5,2,3.5,4.1,5,6.2,7.5,9.2/<br />

data (y(i), i=1,8)/3.3,2,1.4,1.2,1,.8,.64,.5/<br />

sx=0; sxx=0;sy=0;sxy=0<br />

do i=1,n<br />

sx=sx+1/x(i)<br />

sy=sy+y(i)<br />

sxx=sxx+(1/x(i))**2<br />

sxy=sxy+y(i)*(1/x(i))<br />

enddo<br />

print *,'sx=',sx<br />

print *,'sxx=',sxx<br />

print *,'sy=',sy<br />

print *,'sxy=',sxy<br />

d=n*sxx-sx**2<br />

a1=(sxx*sy-sx*sxy)/d<br />

a2=(n*sxy-sx*sy)/d<br />

a=a2; b=a1<br />

print*,'A=',a<br />

print*,'B=',b<br />

s=0<br />

do i=1,n<br />

f(i)=a/x(i)+b<br />

s=s+(y(i)-f(i))**2<br />

enddo<br />

print*,'Standerd Deviation=',s<br />

end<br />

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br />

A= 1.353131<br />

B= .7405201<br />

S=.7070401<br />

28

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!