Procedure MRQCOF(X,Y,SIG:array of real; NDATA:integer;var A:array of real; MA:integer; LISTA:array of integer; MFIT:integer;var ALPHA:matrx2; var BETA:array of real; NALP:integer;var CHISQ:real); var DYDA:array[0..20] of real; J,I,K:integer; YMOD,SIG2I,DY,WT:real; begin For J:=1 To MFIT do begin For K:=1 To J do ALPHA[J, K]:=0; BETA[J]:=0; end; CHISQ:=0; For I:=1 To NDATA do begin FGAUSS(X[I], A, YMOD, DYDA, MA); SIG2I:=1 / (SIG[I] * SIG[I]); DY:=Y[I] - YMOD; For J:=1 To MFIT do begin WT:=DYDA[LISTA[J]] * SIG2I; For K:=1 To J do ALPHA[J, K]:=ALPHA[J, K] + WT * DYDA[LISTA[K]]; BETA[J]:=BETA[J] + DY * WT; end; CHISQ:=CHISQ + DY * DY * SIG2I; end; For J:=2 To MFIT do For K:=1 To J - 1 do ALPHA[K, J]:=ALPHA[J, K]; end;