Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Варжапетян, А. Г. Готовность судовых систем управления

.pdf
Скачиваний:
3
Добавлен:
22.10.2023
Размер:
12.26 Mб
Скачать

ПРИЛОЖЕНИЕ IV

Процедура-функция rav

Процедура-функция norm

Рис. П .1. Блок-схема процедуры-функции

тогда

г) = (—2а2 Іп |)1/2 = а V 2 In | ;

(П.5)

5)для распределения Вейбулла

f (t) =

1 exp (—

 

=

b a t а —1 exp (— Ы а),

тогда

 

 

 

 

 

 

*1

 

 

 

(П .6 )

6) для распределения

типа \ - = f

(t), где 0 ^ t < оо,

 

11 =

г)!,

если

 

 

ТІ2

,

если

Т)а <

 

 

здесь

% = - — 1п|;

-(П.7)

ПЯ= а + й ^ 2 |і — 6 ); ■

'201

ПРИЛОЖЕНИЯ

7) для распределения Пуассона в качестве значения случайной величины вы дается то целочисленное значение т, при котором выполняется неравенство

m + 1

 

 

 

 

 

і=і

і

<;

-

2

 

 

 

(П .8 )

 

 

 

 

 

 

 

 

 

(=0

 

 

 

 

8 )

для

логарифмически-нормального

распределения

 

 

 

 

/ Ш

-

М

c x p f

I g < - l g m \

-

М

c::D f

l g ^ - l g a \

(П.9)

 

П )

 

a t - 2 л

P V

 

2 о3

) ~

2 я Ы

р \

2 b2

) ’

 

 

 

 

 

 

 

/

12

 

 

 

 

 

 

 

тогда

т) =

10111, где

г]., = а -)- b

£ь

 

 

 

 

 

 

9)

для

гамма-распределения

 

 

 

(

 

 

 

 

 

 

 

 

/(0 =

 

t b-

1

 

 

 

 

 

 

 

 

 

(6 — 1) аь exp

 

 

 

 

тогда

(П.10)

На основании формул (П .2)—(П.10) составлена процедура-функция, с помощью которой могут быть получены случайные числа по любому закону с заданной плот­ ностью распределения. Блок-схема этой процедуры-функции приведена на рис. П. 1*.

ОБРАЩЕНИЕ К ПРОЦЕДУРЕ И ЕЕ ОСОБЕННОСТИ

Процедура & х (a, b, k) включает в себя: а, Ь — переменные типа real; k — переменную типа integer.

В данной процедуре а, Ь — параметры законов; k — номер закона.

При первом обращении к процедуре нужно положить k = 0, чтобы происходило присвоение величинам начальных значений. При последующих обращениях к за­ дается числами от 1 до 10 в зависимости от номера закона. Переменные а, Ь, k — входные параметры. В начале основной программы необходимо описать мі и м2 как переменные типа real.

ОПИСАНИЕ ПРОЦЕДУРЫ

При первом обращении к процедуре-функции & х величинам «1 и «2 присваива­

ются начальные значения. При последующих обращениях по значению k опреде­ ляется вид закона распределения и реализуется одна из формул (П.2)— (П.10).

Во всех операторах, реализующих формулы (П.2)—(П.10), участвуют вспомога­ тельные процедуры-функции гаѵ и norm, с помощью которых получаются псевдо­

случайные числа соответственно по законам: равномерному

в промежутке [0 , 1 ]

и нормальному с математическим ожиданием 0 и дисперсией

1.

* В связи со спецификой машинного ввода и вывода индексы в процедурах запи­ сываются В одну строку с. основными обозначениями,

202

 

Приложение

ПРОЦЕДУРА ПОЛУЧЕНИЯ

V

ГИСТОГРАММЫ И СРЕДНЕГО ВРЕМЕНИ

 

РАБОТЫ СИСТЕМЫ

 

НАЗНАЧЕНИЕ

Процедура & г служит для получения гистограммы непрерывной случайной величины,

N N

суммарного времени работы системы, а также для получения сумм ^ t~[t

t 5lt

і=1 /=і

N

Для построения гистограммы необходимо знать Т’зад и Лг“, поэтому до получения гистограммы в процедуре определяются также эти величины.

Блок-схема процедуры представлена на рис. П.2.

ОБРАЩЕНИЕ К ПРОЦЕДУРЕ И ЕЕ ОСОБЕННОСТИ

Процедура

(fc, т, N ,

A t, е, k.2, k l , Т,

t2, t3,

14, б) включает в себя: 1с, N,

A t , е, k2,

Т, t2,

13, 14, б — переменные типа

real; k l

— переменную типа integer;

пг — массив типа

real.

 

 

 

Пусть

в основной программе:

 

 

 

1С— время работы системы;

 

 

m [0 : 13] — гистограмма,

массив чисел;

 

 

 

N — количество испытаний;

 

 

 

k2 — постоянная;

 

 

 

 

k l — постоянная для переключателя;

 

 

Т — суммарное время работы системы за N испытаний;

 

 

N

N

 

N

 

 

г=і

/=і

 

/=і

в— погрешность;

б— наибольшее число, представимое в ЦВМ.

Тогда обращение к процедуре может быть записано и без формальных параметров.

Процедура имеет следующие

особенности:

1. При первом обращении к

обязательно нужно положить к2 = 0. В этом

случае происходит присвоение величинам начальных значений и уход из процедуры.

При последующих обращениях k2

может иметь л ю б о е отличное от нуля значение.

2 . б — любое большое

число

такое,

что если 12 V ö

V

б, то

соответ­

ственно

12 : = б V

Ö : =

б V

й

: = б.

 

 

 

 

 

3. Процедура !РГ выдает на печать массив из трех чисел: A t ,

число

реализа­

ций N ,

начальное время хО.

 

 

 

 

 

 

 

В программе, где будет использована процедура 2РТ, нужно обязательно

предусмотреть переключатель с двумя метками

 

 

 

 

 

 

 

switch L : =

/VI,

N 2 ,

 

 

 

где Ml

: процедура

получения

tc;

go

to L

[AI];

 

 

 

N 2

; процедура

получения

характеристик

надежности

невосстанавливаемых

 

систем (0 >н.в).

 

 

 

 

 

 

 

 

203

Ю

О .

__________________________ПРИЛОЖЕНИЯ

ю

о Рис. П. 2. Блок-схема процедуры-функции 0>ѵ.

сл

V ПРИЛОЖЕНИЕ

ПРИЛОЖЕНИЯ

В любой программе процедурой !РГ можно пользоваться сколько угодно раз, однако сначала будет строиться одна гистограмма, затем полностью другая и т. д.

Пусть, например, нужно построить три гистограммы. Метки будут выглядеть так:

і :

= 0; Ml : процедура получения

tc;

& т\

go

to L

[йі]

 

 

 

М2 : &w. D;

k l : =

0;

k l : = 2; i

: =

i -\-

1; if i <

3 then go to Ml.

Необходимо задать

tc, s, М2 , б — входные формальные параметры и М ,

М, At,

Т, й ,

й; t4; k 1 — выходные

формальные

параметры.

 

 

 

В основной программе необходимо описать следующие переменные х0,

х і, х99,

х100 — переменные типа

real;

й , і 4 — переменные

типа integer; ml [0: 13] —

массив

типа real.

 

 

 

 

 

 

 

 

 

 

 

ОПИСАНИЕ ПРОЦЕДУРЫ

 

 

 

 

 

 

 

 

 

 

Для определения Т’зад (sup

х) и At производится выборка 100 случайных чисел;

под случайными числами

понимается

случайное

время работы системы tc. Кроме

 

 

 

 

 

 

 

л

 

 

л

х0, так, что х99

того, определяются квантили 0,99 и 0,01, т. е. а'0і09 =

х99 и х0і01 =

меньше только одного

числа из выборки, а тогда

 

 

 

 

 

 

 

Гзэд = х99 -

х0;

At =

І 2 & ..

 

 

(П .11)

После определения

Т зяд и At берется выборка чисел объема яі = 200 и произ­

водится

расчет эмпирических

частот

 

 

 

 

 

 

 

 

 

 

 

лі

(і : =

0,

1, . .

13),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где ѵ(п1' — количество элементов в выборке объема пі, попавших в t-й интервал.

Величина ѵ (п к 1' вычисляется следующим образом.

Если в t-й реализации система отказала в момент времени tc, то номер интервала, соответствующий /-й реализации, определяется по формуле

 

 

 

 

=

entier ((tc — х0)/Д t +

1),

 

(П.12)

где entier (х) — целая

часть

х.

 

 

 

 

 

 

 

После каждой

реализации

в і-й

интервал, определяемый

по формуле (П.12),

добавляется

1, т. е.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

ѵн

15

+

если *(/> =

*і;

(П.13)

 

 

 

 

I

 

 

если t(^ =j=k 1 .

 

 

 

 

 

 

 

Если 1 = 0,

то

=

0 для

k l

=

0...........13,

причем

в

13-й

интервал попадают

все случайные числа, превосходящие х99, а в нулевой интервал — все случайные числа, меньшие, чем х0 .

206

 

 

 

 

ПРИЛОЖЕНИЕ VI

Далее

выполняется второй

этап

вычислений. Полагаем объем равным я2 : =

 

 

 

ѵ (п2)

 

«1 -}- 200.

Вновь рассчитываем

частоты ——— , затем берем объемы яЗ, я4 и т. д.

до тех пор, пока не выполнится условие

 

 

 

(nk)

ѵ (пк-\)

 

 

 

і______ JT______

(П.14)

 

 

nk

Ilk 1

 

 

 

Одновременно с получением гистограммы определяется суммарное время работы системы ^ (с , а также ^ t \ , £ ^ t \ .

После выполнения условия (П.14) А nk, х0 выводится на печать и осуще­ ствляется переход на вторую метку переключателя.

 

Приложение

ПРОЦЕДУРА

VI

ПОЛУЧЕНИЯ

 

ВСЕХ ПУТЕЙ ГРАФА

 

НАЗНАЧЕНИЕ

Процедура составлена для нахождения всех путей графа от начальной вер­ шины до конечной. Процедура составлена так, что все найденные пути запоминаются.

Блок-схема процедуры приведена на рис. П.З.

ОБРАЩЕНИЕ К ПРОЦЕДУРЕ

Процедура 5° (q, п, т, он, ак, аі, а2, с1, с2 ) включает в себя: q, п, пг, ан, ак — переменные типа integer; cl, с2 — массивы; аі, а2 — массивы типа integer.

Пусть в основной программе:

q — число вершин, входящих в самый длинный путь, уменьшенное на единицу;

п— исходное число дуг;

т— суммарное число вершин, входящих во все пути;

 

ан— 1 — начальная

вершина графа и всех путей;

 

 

ак — конечная

вершина всех путей;

аі

[1

: я]

— все входы дуг графа;

а2

[1

: я]

— все выходы дуг графа;

cl

[1

: т ]

— массив для записи вершин всех путей графа;

с2

[1

: т ]

— массив для записи номеров мест вершин в массивах аі и а2 .

Тогда обращение к процедуре может быть записано без формальных параметров.

207

to

о

00

ПРИЛОЖЕНИЯ

>

Варжапетян .

ю

 

о

Рис. П . 3. Блок-схема процедуры

со

VI ПРИЛОЖЕНИЕ

ПРИЛОЖЕНИЯ

ОПИСАНИЕ ПРОЦЕДУРЫ

 

Граф задается дугами, записываемыми с помощью определенных выше массивов

сі, с2 ,

аі,

а2 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

П е р в ы й

э т а п .

Началу всех путей ан =

 

1 (в массиве сі) при условии, что

сі

[1]

:

=

1,

всегда

соответствует с2

[1]

: =

0. Далее, если сі

[2]

: =

о2

[1], то

с2

[2]

: =

1.

Если

сі

[3] : =

а2

[/], то с2

[3]

:

=

/

и т. д. Затем среди аі

ищем

вход,

который совпадает с выходом, записанным

в сі

[2]. Когда он найден, то:

 

1) запоминаем

его

номер

j

: — ja : —

j (первый

раз);

 

 

 

 

 

 

2)

 

а2

[/] записываем в сі

[3], а в с2 [3] записываем номер /

найденных аі и а2 .

 

Теперь среди аі отыскиваем вход, который совпадает с последним из найденных

сі и т. д. до тех пор, пока вновь найденное сі не будет совпадать с ак.

 

 

 

Ищем

новый

путь.

Снова

сі [А]

: =

1,

с2

[ft]

: = 0, cl

[ft -)-

1 ] : = о2 [1 ],

с2

[ft +

1 ] :

=

1,

и далее в аі

ищем,

начиная

с

аі

[уз -)- 1 ],

вход,

совпадающий

с cl [ft +

1 ],

и т. д.,

пока не найдем все пути, имеющие первыми двумя

вершинами

аі

[1] и а2 [1]. Так же ищем все пути, имеющие первыми двумя вершинами аі [2]

и а2 [2] и т. д. Когда дойдем до такой пары аі

[s] и а2 [s], что аі

[s] =

ан, то в сі

после очередного пути заносим признак конца первого этапа — 1,

а в соответствую­

щие с2

заносим п +

1, где п — номер последней дуги

графа.

 

 

 

 

 

 

В т о р о й

э т а п .

Берем первые три вершины первого пути и ищем среди а 1

вход, совпадающий с сі

[3], но такой, чтобы соответствующее ему а2

было отлично

от сі

[4], и далее продолжаем вычисления, как на первом этапе.

 

 

 

 

После того как все отвечающие указанному условию пути исчерпаны, в сі зано­

сим признак конца второго этапа — 2 и после проверки выполнения условия г2 < [ q

2 — счетчик)

можно

переходить к следующему этапу.

Т р е т и й

э т а п .

Берем четыре вершины и поступаем так же, как на предыду­

щих этапах. При выполнении условия г2^> q в сі заносим после последней вершины 0.1 — конец всех путей. Затем осуществляем выход из процедуры.

 

Приложение

ПРОЦЕДУРА ПОЛУЧЕНИЯ

ѴИ

ХАРАКТЕРИСТИК НАДЕЖНОСТИ

 

ВОССТАНАВЛИВАЕМЫХ СИСТЕМ ПО РЕАЛИЗАЦИЯМ АЛЬТЕРНИРУЮЩЕЙ

ПОСЛЕДОВАТЕЛЬНОСТИ (СРЕДНИЕ ДАННЫЕ)

НАЗНАЧЕНИЕ

Процедура

служит для получения среднего времени работы, среднего времени

восстановления

и коэффициента готовности по формулам:

 

Е *.і

 

і=і

где tp — случайное время работы; N

— число реализаций; t B — случайное время

восстановления; Т ср~— среднее время

работы; tcp — среднее время восстановления;

ftp — коэффициент готовности.

 

Блок-схема процедуры приведена

на рис. П.4.

210

ПРИЛОЖЕНИЕ VII

Рис. П .4. Блок-схема процедуры ^у.

14*

211

ПРИЛОЖЕНИЯ

ОБРАЩЕНИЕ К ПРОЦЕДУРЕ И ЕЕ ОСОБЕННОСТИ

Процедура

(<р,

fa,

d,

e l, s2, k \ , k.2,

N max)

включает в себя:

k2 — пере­

менную типа integer; tp,

te,

d,

e l,

E2 , k \ , Wmax — переменные типа real.

Обращение к процедуре может быть записано и без формальных параметров,

если в основной программе ввести следующие обозначения:

 

tp — случайное

время

работы;

 

 

 

/в — случайное

время

восстановления;

 

 

d — постоянная,

принимающая значение

0 или 1;

 

еI, е2 — погрешности;

 

 

 

 

 

 

k l , k2 — постоянные;

 

 

 

 

 

 

 

Лішах — число, которое

ограничивает

количество реализаций.

 

Среди указанных обозначений

tp, fa, e l,

е2, Al,

Лішах — входные

параметры;

k2, d — выходные параметры.

 

 

 

 

 

Процедура

имеет

следующие

особенности:

 

 

1. При первом обращении к процедуре надо положить А1 = 0, в результате чего величинам присваиваются начальные значения, а для дальнейшего счета надо поло­

жить k \

Ф 6.

где

используется процедура

^ у, необходимо

описать Т ра ,

 

2.

В

программе,

Т в а ,

Т р \ а , Т в і а , N a ,

іа,

j a — переменные типа real.

 

 

3.

В

программе,

где

используется процедура

необходимо

предусмотреть

переключатель с двумя метками

 

 

 

 

 

 

 

 

switch L1 : =

N 1, N2,

 

 

где

N1

: процедура получения <р ів\ â°y;

go to L \

[A2];

 

N 2

: продолжение

программы.

 

 

 

 

4.

Процедура

построена так, что при первом обращении к процедуре полу­

чения ф и /в должно обязательно получаться только время работы, при втором обра­ щении — только время восстановления и т. д., т. е. при нечетном обращении должно получаться время работы, а при четном — время восстановления.

5. В процедуре & у введена постоянная d, которая после первого обращения к ^ у

имеет значение 1, а потом все время равна 0 (так же, как и в процедуре

п, в опи­

сании которой этот

вопрос изложен подробно).

 

6 . Процедура & у

выдает на печать следующие числа: первое — среднее время

работы; второе — среднее время восстановления; третье — коэффициент готовности; четвертое — количество реализации.

Если же количество реализаций N больше или равно ІѴтах, а приводимое ниже условие (П.15) не выполнено, то будут печататься следующие числа: первое — сред­ нее время работы за N реализаций; второе — среднее время восстановления за N реализаций; третье — среднее время работы з а N — 100 реализаций.

ОПИСАНИЕ ПРОЦЕДУРЫ

В начале программы проводим 200 реализаций, т. е. 200 раз обращаемся к блоку получения случайного времени работы и случайного времени восстановления, в ре­ зультате чего получаем суммарное время работы и суммарное время восстановления

100

 

100

Т р 1 в = 2 / Р/,

7blfl=.j*Bt-

І — 1

 

1=1

затем проводим еще 2 0 0 реализаций и получаем

 

200

 

200

Т р 2 а = ^ t p i ,

Т'в2а =

/•

(=i

 

i=i

212

Соседние файлы в папке книги из ГПНТБ