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

Міністерство освіти і науки України

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

Інститут комп’ютерних інформаційних технологій

Домашнє завдання з дисципліни : “Математичні методи дослідження операцій”

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

Реви Катерини

Київ 2017

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

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

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

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

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

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

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

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

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

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

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

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

Вариант №21

Таблица mz(,M)

, град

М

0

5

10

15

20

25

0,7

0,35

0,05

-0,1

-0,3

-0,25

-0,2

0,8

0,4

0,15

-0,05

-0,2

-0,15

-0,12

0,9

0,4

0,17

-0,07

-0,22

-0,2

0,1

Побудуємо графіки для заданого масиву чисел:

Розіб’ємо функцію на щонайменше проміжків:

/M

0

10

20

25

0,7

0,35

-0,1

-0,25

-0,2

0,8

0,4

-0,05

-0,15

-0,12

0,9

0,41

-0,07

0,2

0,1

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

Gi=Gi0+Ki*(M-Mi)+Q*(H-Hi)

Ki=Mi-Mi0

Qj=Hj-Hj0

K1

K2

K3

0,7

-0,45

-0,15

0,05

0,8

-0,45

-0,1

0,03

0,9

-0,47

0,27

-0,1


M

0

10

20

25

Q1

0,05

0,05

0,1

0,08

Q2

0,01

-0,02

0,35

0,22

  1. M=0,7

H=-0,35-0,45*(M*0,7)+0,05(H-5)

H=-0,1-0,15*9M*0,7)-0,1(H-10)

H=-0,25-0,05*(M*0,7)-0,3(H-15)

H=-0,25-0,15*(M*0,7)-0,25(H-20)

H=-0,2-0,05*(M*0,7)-0,2(H-25)

  1. M=0,8

H=0,15-0,45*(M*0,8)+0,15(H-5)

H=-0,05-0,1*(M*0,8)-0,05(H-10)

H=0,15-0,05*(M*0,8)-0,15(H-15)

H=-0,15-0,1*(M*0,8)-0,15(H-20)

H=-0,12-0,03*(M*0,8)-0,12(H-25)

  1. M=0,9

H=0,4-0,45*(M*0,9)-0,17(H-5)

H=-0,07-0,24*(M*0,9)+0,17(H-10)

H=-0,2-0,15*(M*0,9)+0,2(H-15)

H=0,2-0,1*(M*0,9)+0,2(H-20)

H=0,1-0,22*(M*0,9)+0,1(H-25)

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace ConsoleApplication6

{

class Program

{

static void Main(string[] args)

{

double M, H, f = 0;

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

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

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

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

if (M <= 0.8)

{

if (H <= 5)

{

f = -0.35 - 0.45 * (M * 0.7)+0.05 *(H - 5);

}

else

{

if (H <= 10)

{

f = 0.1 - 0.15 * (M * 0.7)-0.1*(H - 10);

}

else

{

if (H <= 15)

{

f = 0.25 - 0.05 * (M * 0.7)-0.3*(H - 15);

}

else

{

if (H <= 20)

{

f = 0.25 - 0.15 * (M * 0.7)-0.25*(H - 20);

}

else

{

if (H <= 25)

{

f = 0.2 - 0.05 * (M * 0.7)-0.2*(H - 25);

}

}

}

}

}

}

else

{

if (H <= 5)

{

f = 0.15 - 0.45 * (M * 0.8)+0.15*(H - 5);

}

else

{

if (H <= 10)

{

f = 0.05 - 0.1 * (M * 0.8)-0.05*(H - 10);

}

else

{

if (H <= 15)

{

f = 0.15 - 0.05 * (M * 0.8)-0.15*(H - 15);

}

else

{

if (H <= 20)

{

f = 0.15 - 0.1 * (M * 0.8)-0.15*(H - 20);

}

else

{

if (H <= 25)

{

f = 0.12 - 0.03 * (M * 0.8)-0.12*(H - 25);

}

}

}

}

}

}

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

Console.ReadKey();

}

}

}

Блок-схема

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