Page 598 - Chapra y Canale. Metodos Numericos para Ingenieros 5edición_Neat
P. 598
574 APROXIMACIÓN DE FOURIER
x 0.05 0.12 0.15 0.30 0.45 0.70 0.84 1.05
y 0.957 0.851 0.832 0.720 0.583 0.378 0.295 0.156
Solución. Un ejemplo de un programa principal y una función en Fortran 90 usando
RCURV para resolver este problema se escribe como sigue:
PROGRAM Fitpoly
use msimsl
IMPLICIT NONE
INTEGER::ndeg,nobs,i,j
PARAMETER (ndeg=3, nobs=8)
REAL::b(ndeg+1),sspoly(ndeg+1),stat(10),x(nobs),y(nobs),
ycalc(nobs)
DATA x/0.05,0.12,0.15,0.30,0.45,0.70,0.84,1.05/
DATA y/0.957,0.851,0.832,0.720,0.583,0.378,0.295,
0.156/
CALL RCURV(nobs,x,y,ndeg,B,sspoly,stat)
PRINT *, ‘El polinomio ajustado es’
DO i = 1,ndeg+1
PRINT ‘(1X, “X ˆ Y”, I1,“ TERM: “,F8.4)’, i-1, b(i)
END DO
PRINT *
PRINT ‘(1X,“R ˆ Y2: “,F5.2,“%”)’,stat(5)
PRINT *
PRINT *, ‘NO. X Y YCALC’
DO i = 1, nobs
ycalc=0.
DO j = 1,ndeg+1
ycalc(i)=ycalc(i)+b(j)*x(i)**(j-1)
END DO
PRINT ‘(1X,I8,3(5X,F8.4))’, i, x(i), y(i), ycalc(i)
END DO
END
Un ejemplo corrido es
El polimomio ajustado es
X^0 TERM: .9909
X^1 TERM: -1.0312
X^2 TERM: .2785
X^3 TERM: -.0513
R^2: 99.81%
NO. X Y YCALC
1 .0500 .9570 .9401
2 .1200 .8510 .8711
3 .1500 .8320 .8423
4 .3000 .7200 .7053
5 .4500 .5830 .5786
6 .7000 .3780 .3880
7 .8400 .2950 .2908
8 1.0500 .1560 .1558
6/12/06 13:58:30
Chapra-19.indd 574
Chapra-19.indd 574 6/12/06 13:58:30

