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

Математические методы / ДЗ / ДЗ №1 Односумов

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

МІНІСТРЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

НАЦІОНАЛЬНИЙ АВІЦІЙНИЙ УНИВЕРСИТЕТ

ІНСТИТУТ КОМ'ЮТЕРНИХ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ

Домашнє завдання №1

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

Виконав

Студент групи ТП-213

Односумов М.

Прийняв:

Моржов В.І.

Київ 2017

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

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

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

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

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

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

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

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

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

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

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

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

Вариант №17

Таблица

H,км

M

0

0,1

0,2

0,4

0,5

0,6

0,7

0,9

1.0

0

4700

4730

4780

4830

4900

4950

5000

5070

5130

2

4000

4070

4140

4210

4310

4420

4520

4620

4720

4

3300

3400

3500

3620

3710

3870

3970

4100

4230

6

2580

2720

2860

3000

3140

3300

3440

3580

3740

8

1880

2040

2200

2360

2530

2700

2850

3030

3180

10

1170

1350

1560

1740

1930

2110

2290

2480

2660

12

900

1040

1170

1300

1460

1600

1730

1880

2040

Профессор кафедры КИТ

____________Моржов В.И.

Встановимо границю лінеаризації. Вона дорівнює10%. Функція має 1 проміжок.

M

H

0

1

2

4000

4720

4

3300

4230

6

2580

3740

8

1880

3180

10

1170

2660

12

900

2040

H

M

0

2

4

6

8

10

12

1

5130

4720

4230

3740

3180

2660

2040

Формула для рівняння лінеаризації функції:

Ri=Ri0+Ki*(M-Mi)+Q*(H-Hi)

Ki= Mi-Mi0

Qj= Hj-Hj0

Ki

H

K1

2

720

4

930

6

1160

8

1300

­10

1490

12

1140

H

M

Q1

Q2

Q3

Q4

Q5

Q6

1

-410

-490

-490

-560

-520

-6220

Загальні рівняння:

M = 1

H = 2 : R = 4720+720*(M-1) -410*(H-2)

H = 4 : R = 4230+930*(M-1) -490*(H-4)

H = 6 : R = 3740+1160*(M-1) -490*(H-6)

H = 8 : R = 3180+1300*(M-1) -560*(H-8)

H = 10 : R = 2660+1490*(M-1) -520*(H-10)

H = 12 : R = 2040+1140*(M-1) -6220*(H-12)

Блок-схема

Текст програми:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace MMDO_DZ

{

class Program

{

static void Main(string[] args)

{

double M, H,R= 0;

Console.WriteLine("Введите M");

M = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Введите H");

H = Convert.ToDouble(Console.ReadLine());

if (H <= 2)

{

R = 4720 + 720 * (M - 1) - 410 * (H - 2);

}

else

{

if (H <= 4)

{

R = 4230 + 930 * (M - 1) - 490 * (H - 4);

}

else

{

if (H <= 6)

{

R = 3740 + 1160 * (M - 1) - 490 * (H - 6);

}

else

{

if (H <= 8)

{

R = 3180 + 1300 * (M - 1) - 560 * (H - 8);

}

else

{

if (H <= 10)

{

R = 2660 + 1490 * (M - 1) - 520 * (H - 10);

}

else

{

if (H <= 12)

{

R = 2040 + 1140 * (M - 1) - 6220 * (H - 12);

}

}

}

}

}

}

Console.WriteLine("Ответ: " + R);

Console.ReadKey();

}

}

}

Висновок:В цій домашній роботі я навчилася лінеаризувати функції, знаходити коефіцієнти для лінійної функції та написала програму, яка рахує значення функції в залежності від значення аргументу.

Соседние файлы в папке ДЗ