PROGRAM xpolcof C driver for routine polcof INTEGER NP REAL PI PARAMETER(NP=5,PI=3.141593) INTEGER i,j,nfunc REAL f,sum,x,xa(NP),ya(NP),coeff(NP) do 15 nfunc=1,2 if (nfunc.eq.1) then write(*,*) 'Sine function from 0 to PI' do 11 i=1,NP xa(i)=i*PI/NP ya(i)=sin(xa(i)) 11 continue else if (nfunc.eq.2) then write(*,*) 'Exponential function from 0 to 1' do 12 i=1,NP xa(i)=1.0*i/NP ya(i)=exp(xa(i)) 12 continue else stop endif call polcof(xa,ya,NP,coeff) write(*,*) ' coefficients' write(*,'(1x,6f12.6)') (coeff(i),i=1,NP) write(*,'(1x,t10,a1,t20,a4,t29,a10)') * 'x','f(x)','polynomial' do 14 i=1,10 if (nfunc.eq.1) then x=(-0.05+i/10.0)*PI f=sin(x) else if (nfunc.eq.2) then x=-0.05+i/10.0 f=exp(x) endif sum=coeff(NP) do 13 j=NP-1,1,-1 sum=coeff(j)+sum*x 13 continue write(*,'(1x,3f12.6)') x,f,sum 14 continue write(*,*) '***********************************' write(*,*) 'Press RETURN' read(*,*) 15 continue END