Numerical Analysis Programs Using Fortran 90 - University of ...
Numerical Analysis Programs Using Fortran 90 - University of ...
Numerical Analysis Programs Using Fortran 90 - University of ...
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