1 REM **** HP BASIC PROGRAM LIBRARY ******************************* 2 REM 3 REM DBLFIT: LEAST SQUARES FIT TO POINTS WITH UNCERTAINTIES 4 REM IN BOTH VARIABLES 5 REM 36252 REV A 10/73 6 REM 7 REM **** CONTRIBUTED PROGRAM ************************************ 10 DIM X[200],Y[200] 20 READ N 90 LET X1=X2=Y1=Y2=0 100 FOR I=1 TO N 110 READ X[I],Y[I] 130 LET X1=X1+X[I] 140 LET X2=X2+I*X[I] 150 LET Y1=Y1+Y[I] 160 LET Y2=Y2+I*Y[I] 170 NEXT I 172 LET I1=N*(N+1)/2 174 LET I2=N*(N+1)*(2*N+1)/6 180 LET X=(N*X2-X1*I1)/(N*I2-I1*I1) 190 LET P=(X1-X*I1)/N 200 LET Y=(N*Y2-Y1*I1)/(N*I2-I1*I1) 210 LET Q=(Y1-Y*I1)/N 212 PRINT 213 PRINT "CALCULATED POINTS I=1 TO";N 214 PRINT 220 PRINT "X-CALC. (I) = ";P,"+ I * ";X 225 PRINT 230 PRINT "Y-CALC. (I) = ";Q,"+ I * ";Y 235 PRINT 240 PRINT "X-ACTUAL","DIFFERENCE","Y-ACTUAL","DIFFERENCE","DISTANCE" 242 FOR I=1 TO 72 243 PRINT "-"; 244 NEXT I 245 LET X2=X3=Y2=Y3=I2=I3=0 250 FOR I=1 TO N 260 LET X1=X[I]-P-I*X 270 LET Y1=Y[I]-Q-I*Y 280 LET I1=SQR(X1*X1+Y1*Y1) 290 LET X2=X2+X1 300 LET X3=X3+X1*X1 310 LET Y2=Y2+Y1 320 LET Y3=Y3+Y1*Y1 330 LET I2=I2+I1 340 LET I3=I3+I1*I1 350 PRINT X[I],X1,Y[I],Y1,I1 360 NEXT I 365 PRINT 370 PRINT " ","AVERAGE","STD." 371 FOR I=1 TO 41 372 PRINT "-"; 373 NEXT I 374 PRINT 375 PRINT "X-DIFF",X2/N,SQR((X3-X2*X2/N)/(N-1)) 380 PRINT "Y-DIFF",Y2/N,SQR((Y3-Y2*Y2/N)/(N-1)) 385 PRINT "DISTANCE",I2/N,SQR((I3-I2*I2/N)/(N-1)) 400 DATA 10 410 DATA 4,5,7,9,5,8,8,9,10,12,11,14,13,15,14,18,15,19 415 DATA 16,19,17,19 500 END