'-- **************************************************************************' function ARRAverage (Dat!() as single, MinEl as integer, MaxEl as integer) as single ' calculate average value from function Dat1!() defint p defsng ARMid!=0 FOR p = MinEl TO MaxEl: ARMid! = ARMid! + Dat!(p): NEXT p average! = ARMid! / (MaxEl-MinEl+1) result=average! END function '-- **************************************************************************' sub ARRAverageSubtract (Dat!() as single) ' calculate and subtract average value from function Dat1!() defint p, Lmin1, Lmax1 Lmin1 = LBOUND(Dat!):Lmax1 = UBOUND(Dat!) defsng ARMid!=0 FOR p = Lmin1 TO Lmax1: ARMid! = ARMid! + Dat!(p): NEXT p average! = ARMid! / (Lmax1-LMin1+1) FOR p = LMin1 TO Lmax1: Dat!(p) = Dat!(p) - average!: NEXT p END sub '-- **************************************************************************' FUNCTION ARRMax (Dat!() as single, MinEl as integer, MaxEl as integer) as single 'find max element of array defint p defsng ARMax!=Dat!(MinEl) FOR p = MinEl TO MaxEl: IF Dat!(p) > ARMax! THEN ARMax! = Dat!(p): NEXT p result = ARMax! END FUNCTION '-- **************************************************************************' FUNCTION ARRMin (Dat!() as single, MinEl as integer, MaxEl as integer) as single 'find min element of array defint p 'MaxEl = UBOUND(Dat!): In function it's bug 'MinEl = LBOUND(Dat!): defsng ARMin!=Dat!(MinEl) FOR p = MinEl TO MaxEl: IF Dat!(p) < ARMin! THEN ARMin! = Dat!(p): NEXT p result = ARMin! END FUNCTION '********************************************************************** sub ArrExtr (Dat!() as single, byref DatMin!, byref DatMax!) '' as single defint p defint MaxEl,MinEl MinEl=DatMin! MaxEl=DatMax! defsng ARMax!=Dat!(MinEl) defsng ARMin!=Dat!(MinEl) FOR p = MinEl TO MaxEl: IF Dat!(p) > ARMax! THEN ARMax! = Dat!(p): IF Dat!(p) < ARMin! THEN ARMin! = Dat!(p): NEXT p DatMax!=ARMax! print "DatMax=" ,DatMax! DatMin!=ARMin! print "DatMin=" ,DatMin! END SUB '-- ********************************************************************** Sub ArrRaznost (Dat1!() as single , Dat2!() as single, Raznost!() as single) Lmin1 = LBOUND(Dat1!):Lmax1 = UBOUND(Dat1!) Lmin2 = LBOUND(Dat2!) : Lmax2 = UBOUND(Dat2!) REDIM Raznost!(Lmin1 to Lmax1) FOR i = Lmin1 TO Lmax1: Raznost!(i) = Dat1!(i) - Dat2!(i): 'print "Raznost!(",i, ") =" ,Raznost!(i) NEXT i END SUB '********************************************************************** Sub ArrSum (Dat1!() as single , Dat2!() as single, SumA!() as single) Lmin1 = LBOUND(Dat1!):Lmax1 = UBOUND(Dat1!) Lmin2 = LBOUND(Dat2!) : Lmax2 = UBOUND(Dat2!) REDIM SumA!(Lmin1 to Lmax1) FOR i = Lmin1 TO Lmax1: SumA!(i) = Dat1!(i) + Dat2!(i): NEXT i END SUB '**********************************************************************