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

Математические методы / Лабораторные / Лабораторная №1 Вариант №3

.docx
Скачиваний:
28
Добавлен:
25.05.2017
Размер:
120.61 Кб
Скачать

Міністерство освіти і науки, молоді та спорту України

Національний авіаційний університет

Кафедра комп’ютерних та інформаційних технологій

Лабораторна робота №1

З дисципліни: «Математичні методи дослідження операцій»

За темою : «Лінеаризація нелінійної цільової функції »

Варіант 3

Виконав:

Студент ТП-213 ІКІТ

Односумов М.С.

Київ 2017

Домашнее задание №1

по дисциплине “Математические методы исследования операций”.

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

В процессе выполнения домашнего задания необходимо:

- построить графики для заданного массива чисел;

- минимизировать количество кусочно-линейных участков исходной двумерной поверхности, обеспечивающих допустимую погрешность аппроксимации равную 1% от максимального значения исходной функции;

- рассчитать значение коэффициентов системы линейных уравнений, описывающих двумерную поверхность;

- свести коэффициенты линейных уравнений в таблицу;

- разработать алгоритм вычислительного процесса для определения численного значения функции по любому промежуточному значению ее аргументов;

- написать и отладить программу на любом алгоритмическом языке программирования высокого уровня;

- выполнить контрольные расчеты, подтверждающие правильность работы программы;

- оформить отчет по выполнению домашнего задания №1.

Вариант №3

Таблица R = fR (H, M)

М

Н, км

0

0,125

0,25

0,375

0,5

0,625

0,75

0,875

1,0

1.25

0

12000

10800

9800

8850

8000

7100

6250

5300

4400

4000

2

10050

9500

8970

8500

8200

7900

7630

7350

7100

6500

4

7600

7450

7320

7180

7050

6950

6900

6850

6800

6000

6

6000

5920

5850

5800

5720

5770

5870

5970

6100

5500

8

3950

4070

4220

4350

4500

4650

4800

5000

5250

4500

10

2800

2950

3120

3300

3450

3650

3820

4050

4250

3800

12

2080

2200

2320

2450

2580

2700

2840

3020

3250

2900

Завдання

Таблица R = fR (H, M)

М

Н, км

0

0,125

0,25

0,375

0,5

0,625

0,75

0,875

1,0

1,2

4

7600

7450

7320

7180

7050

6950

6900

6850

6800

6000

Встановлюємо межі для лінеаризації:

6000*0.05 = 300.

Розіб’ємо функцію на щонайменше проміжків, враховуючи похибку 5%.

Отримали три проміжки, рівняння яких наступні:

C1 = x*(6750-7900)/(0,625) + 7900

C2 = (x-0,625)*(7100-6750)/(1-0,625) + 6750;

C3 = (x-1)*(5700-7100)/(1,2-1) +7100;

Напишемо програму, яка б розраховувала значення Y(x) для нашої функції, при аргументі, що постійно змінюється.

Код програми:

Java

package math_methods;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

/**

* Created by nifan on 15.02.2017.

*/

public class lab1 {

public static void main(String[] args) throws IOException {

BufferedReader read = new BufferedReader(new InputStreamReader(System.in));

String input = "";

while (!(input.equalsIgnoreCase("выход"))) {

System.out.println("Введите x.\n\"Выход\" для выхода.");

input = read.readLine();

try {

float x = Float.parseFloat(input);

if (x >= 0 && x <= 0.5) {

System.out.println("C1 для данного х равняется " + (x * (6750 - 7900) / (0.625) + 7900));

} else if (x > 0.5 && x <= 1) {

System.out.println("C2 для данного х равняется " + ((x - 0.625) * (7100 - 6750) / (1 - 0.625) + 6750));

} else if (x > 1 && x <= 1.2) {

System.out.println("C3 для данного х равняется " + ((x - 1) * (5700 - 7100) / (1.2 - 1) + 7100));

} else System.out.println("x не попал в границы.");

} catch (NumberFormatException e) {

System.out.println("Caught NumberFormatException. More Info: " + e.getLocalizedMessage());

}

}

}

}

Результат роботи:

Схема алгоритму

Висновки: Я розробив лінійну модель двухмірної функції, яка задана у вигляді таблиці, мотодами лінійного програмування. Збудував графіки заданого масиву чисел. Розробив алгоритм обчислювального процесу для визначення чисельного значення функції.

Соседние файлы в папке Лабораторные