1000 REM PROGRAMA "REGPOL" (REGresion POLinomica) 1010 REM AJUSTA UN POLINOMIO DE GRADO n A UNA SERIE DE PAREJAS DE DATOS 1020 REM SE INTRODUCEN E IMPRIMEN LOS DATOS 1030 CLS:PRINT"AJUSTE DE UN POLINOMIO DE GRADO n<10":PRINT 1040 INPUT"NUMERO DE PAREJAS DE DATOS =";N 1050 DIM X(N),Y(N),A(22),R(12,12),T(12) 1060 PRINT:FOR I=1 TO N 1070 PRINT"PUNTO NUMERO";I;:INPUT":VALORES DE X,Y,";X(I),Y(I) 1080 NEXT I:PRINT 1090 INPUT"ESTA CORRECTA LA INFORMACION ANTERIOR (S/N)";A$ 1100 IF A$="N" OR A$="n" THEN 1110 ELSE 1150 1110 PRINT:INPUT"INTRODUCIR No. DE PAREJA POR CORREGIR";I 1120 INPUT"INTRODUCIR VALORES CORRECTOS DE X e Y:";X(I),Y(I) 1130 INPUT"DESEA CORREGIR OTRA PAREJA";B$ 1140 IF B$="S" OR B$="s" THEN 1110 1150 'LPRINT"REGRESION POLINOMIAL DE ORDEN n":LPRINT 1151 PRINT"REGRESION POLINOMIAL DE ORDEN n":PRINT 1160 'LPRINT"INFORMACION UTILIZADA:" 1161 PRINT"INFORMACION UTILIZADA:" 1170 FOR I=1 TO N 1180 'LPRINT"PUNTO";I;:LPRINT": X = ";X(I) 1181 PRINT"PUNTO";I;:PRINT": X = ";X(I) 1190 'LPRINT"PUNTO";I;:LPRINT": Y = ";Y(I) 1191 PRINT"PUNTO";I;:PRINT": Y = ";Y(I) 1200 NEXT I:PRINT 1210 INPUT"INTRODUCIR EL GRADO DE POLINOMIO DESAEADO:";D 1220 REM SE CALCULAN LOS ELEMENTOS DE LAS MATRICES DEL SISTEMA 1230 A(1)=N:FOR I=1 TO N 1240 FOR J=2 TO 2*D+1 1250 A(J)=A(J)+X(I)^(J-1):NEXT J 1260 FOR K=1 TO D+1 1270 R(K,D+2)=T(K)+Y(I)*X(I)^(K-1) 1280 T(K)=T(K)+Y(I)*X(I)^(K-1):NEXT K 1290 T(D+2)=T(D+2)+Y(I)^2:NEXT I 1300 REM SE RESUELVE EL SISTEMA DE ECUACIONES 1310 FOR J=1 TO D+1:FOR K=1 TO D+1 1320 R(J,K)=A(J+K-1):NEXT K,J 1330 FOR J=1 TO D+1:K=J 1340 IF R(K,J)<>0 THEN 1370 1350 K=K+1:IF K<=D+1 THEN 1340 1360 'LPRINT"NO EXISTE SOLUCION UNICA":END 1361 PRINT"NO EXISTE SOLUCION UNICA":END 1370 FOR I=1 TO D+2 1380 S=R(J,I):R(J,I)=R(K,I):R(K,I)=S 1390 NEXT I:Z=1/R(J,J) 1400 FOR I=1 TO D+2 1410 R(J,I)=Z*R(J,I):NEXT I 1420 FOR K=1 TO D+1 1430 IF K=J THEN 1470 1440 Z=-R(K,J):FOR I=1 TO D+2 1450 R(K,I)=R(K,I)+Z*R(J,I) 1460 NEXT I 1470 NEXT K,J 1480 REM IMPRESION DE RESULTADOS 1490 'CLS:LPRIN:LPRINT"GRADO DEL POLINOMIO AJUSTADO = ";D 1491 PRINT:PRINT"GRADO DEL POLINOMIO AJUSTADO = ";D 1500 'LPRINT"VALOR DE LA CONSTANTE = ";R(1,D+2) 1501 PRINT"VALOR DE LA CONSTANTE = ";R(1,D+2) 1510 FOR J=1 TO D 1520 'LPRINT"COEF. DE LA VARIABLE X A LA POTENCIA ";J;:LPRINT"= ";R(J+1,D+2) 1521 PRINT"COEF. DE LA VARIABLE X A LA POTENCIA ";J;:PRINT"= ";R(J+1,D+2) 1530 'NEXT J:LPRINT 1531 NEXT J:PRINT 1540 REM SE EVALUA EL COEFICIENTE DE CORRELACION 1550 P=0:FOR J=1 TO D+1 1560 P=P+R(J,D+2)*T(J)-A((J)*T(1)/N):NEXT J 1570 Q=T(D+2)-T(1)^2/N 1580 W=Q-P:I=N-D-1:CC=P/Q 1581 IF I<=0 OR W<0 THEN PRINT"FALTAN MAS PAREJAS DE DATOS PARA CALCULAR LA VARIANZA Y EL ERROR ESTANDAR DE ESTIMACION":GOTO 1600 1589 PRINT"VARIANZA DE LA MUESTRA =";W/I 1590 'LPRINT"ERROR ESTANDAR DE ESTIMACION = ";SQR(W/I) 1591 PRINT"ERROR ESTANDAR DE ESTIMACION = ";SQR(W/I) 1600 'LPRINT"COEFICIENTE DE CORRELACION = ";SQR(CC) 1601 PRINT"COEFICIENTE DE CORRELACION = ";SQR(CC) 1610 INPUT"DESEA AJUSTAR OTRO POLINOMIO (S/N)";A$ 1620 IF A$="N" OR A$="n" THEN 1680 1630 INPUT"GRADO DEL NUEVO POLINOMIO =";D 1640 FOR I=1 TO 12 1650 A(I)=0:R(I,I)=0:A(I+10)=0 1660 T(I)=0:NEXT I:GOTO 1230 1670 REM SE CALCULA EL VALOR ESTIMADO DE Y PARA UN CALOR X 1680 'CLS:INPUT"DESEA REALIZAR UNA ESTIMACION DE Y (S/N)";B$ 1681 INPUT"DESEA REALIZAR UNA ESTIMACION DE Y (S/N)";B$ 1690 IF B$="N" OR B$="n" THEN 1760 1700 INPUT"VALOR DE LA VARIABLE X = ";X 1710 P#=R(1,D+2):FOR J=1 TO D 1720 P#=P#+R(J+1,D+2)*X^J:NEXT J 1730 'LPRINT:LPRINT"VALOR DE LA VARIABLE X = ";X 1731 PRINT:PRINT"VALOR DE LA VARIABLE X = ";X 1740 'LPRINT"VALOR ESTIMADO PARA Y = ";P# 1741 PRINT"VALOR ESTIMADO PARA Y = ";P# 1750 GOTO 1680 1760 'END 1770 SYSTEM