Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Автоматизовані Системи Управління

Інформація про роботу

Рік:
2009
Тип роботи:
Розрахункова робота
Предмет:
Надійність систем
Група:
ІУС-11м

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки України Національний університет «Львівська політехнвка» Кафедра АСУ Розрахункова робота з надійності систем Виконав: Ст. гр. ІУС-11м Перевірила: Кустра Н.О. Львів 2009 Завдання:   - інтенсивність відмови системи за заданого стануготовності к, де 0<k<a1 та за умови, що ймовірність безвідмовної роботивихідних елементів описуєится екпоненційним законом, обчислюється за формулою: , де  - коефіцієнт готовності системи, імовірність того, що працюють не менше як k вихідних елементів, де 0<k<a1 та за умови, що ймовірність безвідмовної роботивихідних елементів описуєится екпоненційним законом, обчислюється за формулою:   - частота відмови системи за заданого стану готовності к, де 0<k<a1 та за умови, що ймовірність безвідмовної роботивихідних елементів описуєится екпоненційним законом,  - дорівнює похідній від коефіцієту готовності, взятий з протилежним знаком:  Звідси:  Текст програми, яка обчислює : package program.core; import java.util.ArrayList; import java.util.List; public class SystemReliability { private double lam0 = 0; private double lam1 = 0; public SystemReliability(double lam0, double lam1) { this.lam0 = lam0; this.lam1 = lam1; } public double getP0(int t) { double p0 = Math.exp((-1) * lam0 * t); return p0; } public double getP1(int t) { double p1 = Math.exp((-1) * lam1 * t); return p1; } public double getKh1(int k, int a1, int step) { double kh1 = 0; double p0 = 0; double p1 = 0; double q1 = 0; double c = 0; p0 = getP0(step); for (int x1 = k; x1 <= a1; x1++) { c = (faktorial(a1) / (faktorial(x1) * faktorial(a1 - x1))); p1 = Math.pow(getP1(step), x1); q1 = Math.pow((1 - getP1(step)), (a1 - x1)); kh1 += c * p1 * q1; } kh1 *= p0; return kh1; } public double getA(int k, int a1, int step) { double c = 0, p1 = 0, q1 = 0, c1 = 0; double a = 0; double firstSum = 0, secondSum = 0; for (int x1 = k; x1 <= a1; x1++) { for (int j = 0; j <= (a1 - x1); j++) { c = faktorial(a1 - x1) / (faktorial(j) * faktorial(a1 - x1 - j)); p1 = Math.pow(-1, j) * (lam0 + lam1 * x1 + lam1 * j); q1 = Math.exp((-1) * (lam0 + lam1 * x1 + lam1 * j) * step); secondSum += c * p1 * q1; } c1 = faktorial(a1) / (faktorial(x1) * faktorial(a1 - x1)); c1 *= secondSum; firstSum += c1; secondSum = 0; } a = firstSum; return a; } public double getLam(int k, int a1, int step) { double lam = 0; lam = getA(k, a1, step)/getKh1(k, a1, step); return lam; } public List<Double> getLam(int k, int a1, int step, int t) { List<Double> lams = new ArrayList<Double>(); for (int i = 0; i <= t; i += step) { lams.add(this.getLam(k, a1, i)); } return lams; } private int faktorial(int k) { int rez = 1; for (int i = 1; i <= k; i++) { rez *= i; } return rez; } } package program; import java.io.BufferedWriter; import java.io.File; import java.io.FileWriter; import java.io.IOException; import program.core.SystemReliability; public class Application { private static double lam0 = 0.0001; private static double lam1 = 0.001; private static int k = 6; private static int t = 20000; private static int a1 = 7; /** * @param args */ public static void main(String[] args) { SystemReliability reliability = new SystemReliability(lam0, lam1); try { File file = new File("data.txt"); FileWriter writer = new FileWriter(file); BufferedWriter bufferedWriter = new BufferedWriter(writer); for (int i = 0; i <= t; i += 100) { bufferedWriter.write(i + "\t\t\t" + reliability.getLam(k, a1, i)); bufferedWriter.newLine(); } bufferedWriter.close(); writer.close(); } catch (IOException e) { e.printStackTrace(); } } } Графік залежності  від t:
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!