Учебное пособие по МПП
.pdfSUB ppx (x, z(), v())
z(1) = x / v(1): z(2) = z(1) * z(1): z(3) = EXP(z(1))
z(4) = LOG(ABS(z(1))): z(5) = v(2) / x: z(6) = z(5) * z(5)
z(7) = z(5) * z(6): z(15) = LOG(x) / LOG(v(1)): z(16) = x - v(3) END SUB
SUB ppy (y, z(), v())
z(8) = y / v(3): z(9) = z(8) * z(8): z(10) = EXP(z(8))
z(11) = LOG(ABS(z(8))): z(12) = v(4) / y: z(13) = z(12) * z(12) z(14) = z(12) * z(13)
END SUB
SUB sort (n, u(), s())
'- Ранжировка по величине Коэффициента Парной Корреляции - PRINT STRING$(80, 46); "Код"; TAB(20); "КПК"; STRING$(80, 46) FOR k = 1! TO n: q = u(k): s = s(k)
FOR m = 1! TO n
IF u(m) <= q THEN q = u(m): s = m NEXT m
PRINT s, u(s): u(s) = 2! NEXT k
END SUB
Приложение 4 ‘Программа обработки опытных данных показательным законом
DECLARE FUNCTION Up! (P!) DECLARE SUB sort (n!, x!())
OPEN "OBPABOT.DAT" FOR OUTPUT AS #1
CLS : PRINT #1, "ОБРАБОТКА ОПЫТНЫХ ДАННЫХ ЭКСПОНЕНЦИАЛЬНЫМ ЗАКОНОМ РАСПРЕДЕЛЕНИЯ"
PRINT #1, STRING$(80, 46) INPUT "Тестировать"; a$
IF a$ = "n" OR a$ = "n" THEN
INPUT "Введите число замеров N="; n: DIM a(n)
FOR i = 1 TO n: PRINT "Введите значения A("; i; ")="; : INPUT a(i): NEXT
223
d = (a(n) - a(1)) / f: 'Длина интервала
'Вычисление середины интервала m1(j) и значение левой границы интервала m(j)
f = f + 1: m1(1) = a(1): m(1) = a(1) - d / 2: IF m(1) < 0 THEN m(1) = 0 FOR j = 2 TO f: m1(j) = m1(j - 1) + d: m(j) = m1(j) - d / 2:
NEXT
'Количество замеров, входящих в интервал
FOR j = 1 TO f - 2: z(j) = 0 FOR i = 1 TO n
IF a(i) < m(j + 1) AND a(i) >= m(j) THEN z(j) = z(j) + 1 NEXT i
NEXT j z(f) = 0
FOR i = 1 TO n
IF a(i) >= m(f - 1) THEN z(f) = z(f) + 1
NEXT |
|
k(1) = z(1) |
|
FOR j = 1 TO f |
|
k(j) = k(j - 1) + z(j): |
'Накопленное число отказов |
f1(j) = k(j) / n: |
'Накопленная частость отказа |
p1(j) = 1 - f1(j): |
'Накопленная частость безотказности |
f2(j) = z(j) / n / d: |
'Частость в интервале |
p2(j) = EXP(-l * (m(j) + d(2))): 'Вероятность безотказной работы
f3(j) = 1 - p2(j): |
'Вероятность отказа |
f4(j) = l * EXP((-l) * (m(j) + d(2))) |
|
f5(j) = EXP((-l2) * (m(j) + d(2))): 'Нижняя |
f6(j) = EXP((-l1) * (m(j) + d(2))): 'Верхняя NEXT
'90% - ресурс
g = -LOG(.9): g1 = g / l: g2 = g / l1: g3 = g / l2
x1 = 0: FOR j = 1 TO f: x1 = x1 + f4(j): NEXT: c2 = 1 / x1 'Проверка по критерию согласия
x2 = 0: FOR j = 1 TO f
p4(j) = f4(j) * c2 * n: x2 = x2 + (z(j) - p4(j)) ^ 2 / p4(j): NEXT s5 = f - 2: x3 = (x2 - s5) / SQR(2 * s5)
225