Numerical Analysis Programs Using Fortran 90 - University of ...
Numerical Analysis Programs Using Fortran 90 - University of ...
Numerical Analysis Programs Using Fortran 90 - University of ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Problem:<br />
Write a program to determine the parameters A & B so that<br />
f ( x)<br />
= A ln( x)<br />
+ B , fits the following data in least squares sense.<br />
X 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9<br />
y 0.27 0.72 1.48 2.66 4.48 7.26 11.43 17.64 26.78<br />
program List_Square_Fitting<br />
dimension x(20),y(20),f(20)<br />
n=9<br />
data (x(i), i=1,9)/.1,.2,.3,.4,.5,.6,.7,.8,.9/<br />
data (y(i), i=1,9)/.27,.72,1.48,2.66,4.48,7.26,11.43,17.64,26.78/<br />
sx=0; sxx=0;sy=0;sxy=0<br />
do i=1,n<br />
sx=sx+log(x(i))<br />
sy=sy+y(i)<br />
sxx=sxx+(log(x(i)))**2<br />
sxy=sxy+log(x(i))*y(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*log(x(i))+b<br />
s=s+(y(i)-f(i))**2<br />
enddo<br />
print*,'Standerd Deviation=',s<br />
end<br />
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^<br />
A=9.74113 B=16.66255<br />
S=260.5141<br />
24