1 '----------------------------------- 2 'CHI-SQUARED ANALYSIS (CHSQMTBF.BAS) 3 '----------------------------------- 8 CLS 9 Print 10 Print " CHI-SQUARED ANALYSIS TO DEMONSTRATE MTBF (CHSQMTBF.BAS)" 11 Print 12 Print " ORIGINAL DATE: Circa 1987" 14 Print " REVISION DATE: October 28, 2020" 16 Print " AUTHOR: Phil Rutherford (www.philrutherford.com)" 18 Print " RUN DATE: ";Date$; 19 Print " (DD-MM-YYYY) 20 Print " RUN TIME: ";TIME$ 21 Print " RUN WITH MMBASIC.EXE (www.mmbasic.com)" 22 Print 24 Print " USING THE CHI-SQUARED DISTRIBUTION CALCULATE ..." 25 Print " PROBABILITY OF ACHIEVING AN OPERATING MTBF GOAL WITH 'NF' FAILURES IN A TEST PERIOD OF T HOURS" 26 Print " PROBABILITY OF ACHIEVING A DEMAND MTBF GOAL WITH 'NF' FAILURES IN T TRIALS" 27 PRINT 28 Input " CHOOSE OPERATING (O) OR DEMAND (D) MTBF (O or D)";OD$: Print 29 If OD$ = "D" Then 133 Else 33 30 '--------------- 31 'OPERATING INPUT 32 '--------------- 33 Print " OPERATING 'MEAN TIME BETWEEN FAILURES' (MTBF)" 34 Print 37 Input " MTBF GOAL (HOURS) = ";MTBF 38 Print " FAILURE RATE GOAL (PER HOUR) = ";1/MTBF 39 Print 40 Input " TEST TIME (HOURS) = ";TTEST 50 Input " NO. OF FAILURES = ";NF 60 Print " DEGREES OF FREEDOM = ";2*(NF+1) 70 CHISQ=2*TTEST/MTBF 71 Print " CHISQ = ";CHISQ 73 Print 74 Goto 176 130 '------------ 131 'DEMAND INPUT 132 '------------ 133 Print " DEMAND 'MEAN DEMANDS BETWEEN FAILURES' (MTBF)" 134 Print 137 Input " MTBF GOAL (TRIALS) = ";MTBF 138 Print " FAILURE RATE GOAL (PER DEMAND) = ";1/MTBF 139 Print 140 Input " NO. OF TRIALS = ";TTEST 150 Input " NO. OF FAILURES = ";NF 160 Print " DEGREES OF FREEDOM = ";2*(NF+1) 170 CHISQ=2*TTEST/MTBF 171 Print " CHISQ = ";CHISQ 172 Print 173 '------------------------ 174 ' CALCULATE PROBABILITIES 175 '------------------------ 176 Dim FAC(1000) 178 Dim P(1000) 179 SUM=0 180 M=CHISQ/2 181 FAC(0)=1 182 MULT=3 ' MULTIPLE FACTOR FOR TEST FAILURES 183 ADD=5 ' ADDITIVE FACTOR FOR TEST FAILURES 184 XMAX=MULT*NF+ADD 185 For X=1 To XMAX 186 FAC(X)=FAC(X-1)*X 187 Next X 188 Print " PROBABILITY DENSITY FUNCTION (PDF)";TAB(41);"CUMULATIVE DENSITY FUNCTION (CDF)" 189 Print 190 For X=0 To XMAX 195 P(X)=(Exp(-TTEST/MTBF)*(TTEST/MTBF)^X)/FAC(X) 202 Print " Pr(";X;" FAILURES) =";P(X); 205 SUM=SUM+P(X) 206 Print TAB(41);"Pr(<=";X;" FAILURES) =";SUM 207 If X=NF Then SUMNF=SUM 208 CL=1-SUMNF 210 Next X 230 Print 235 If OD$ = "D" Then Goto 339 Else Goto 239 236 '------------------------ 237 ' PRINT OPERATING SUMMARY 238 '------------------------ 239 Print " PROBABILITY OF MEETING MTBF GOAL WITH";NF;" FAILURES IN";TTEST;" HOURS ="; 240 Print CL; 241 Print TAB(84);"= Pr(MTBF =>";MTBF;")" 245 Print " PROBABILITY OF MISSING MTBF GOAL WITH";NF;" FAILURES IN";TTEST;" HOURS ="; 246 Print 1-CL; 247 Print TAB(84);"= Pr(MTBF <";MTBF;")" 250 Print 252 Print " "NF;" FAILURES IN";TTEST;" HOURS DEMONSTRATES AN MTBF GOAL OF";MTBF;" HOURS TO A CONFIDENCE LEVEL OF";CL*100;" %" 254 Goto 354 253 '--------------------- 254 ' PRINT DEMAND SUMMARY 255 '--------------------- 339 Print " PROBABILITY OF MEETING MTBF GOAL WITH";NF;" FAILURES IN";TTEST;" DEMANDS ="; 340 Print CL; 341 Print TAB(86);"= Pr(MTBF =>";MTBF;")" 345 Print " PROBABILITY OF MISSING MTBF GOAL WITH";NF;" FAILURES IN";TTEST;" DEMANDS ="; 346 Print 1-CL; 347 Print TAB(86);"= Pr(MTBF <";MTBF;")" 350 Print 352 Print " "NF;" FAILURES IN";TTEST;" DEMANDS DEMONSTRATES AN MTBF GOAL OF";MTBF;" DEMANDS TO A CONFIDENCE LEVEL OF";CL*100;" %" 354 Print 2000 End