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

Математические методы / ДЗ / ДЗ №1 Ришко

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

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

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

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

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

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

Рішко Анастасії

Київ 2017

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

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

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

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

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

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

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

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

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

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

Вариант №22

Таблиця .Сх = f (Сy, M)

cy

M

0

0,2

0,4

0,6

0,8

0,9

.1,2

0,4

0,022

0,023

0,028

0,038

0,052

0,04

0,03

0,6

0,023

0,024

0,03

0,044

0,057

0,045

0,04

0,8

0,024

0,026

0,032

0,05

0,04

0,039

0,03

0,9

0,027

0,029

0,042

0,012

0,011

0,009

0,007

1.Побудуємо графіки функцій:

2.Апроксимуємо функції:

M/Cy

0

0,4

0,6

1,2

0,4

0,022

0,028

0,052

0,03

0,6

0,023

0,03

0,057

0,04

0,8

0,024

0,032

0,05

0,03

0,9

0,027

0,042

0,012

0,007

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

Ci=Ci0+Ki*(M-Mi)+Q*(H-Hi)

Ki=Mi-Mi0

Qj=Hj-Hj0

Cy

K1

K2

K3

K4

0

0,006

0,024

-0,022

0,03

0,4

0,007

0,027

-0,017

0,04

0,6

0,008

0,018

-0,02

0,03

1,2

-0,015

-0,03

-0,005

0,007


M

0,4

0,6

0,8

0,9

Q1

0,001

0,002

0,005

0,01

Q2

0,001

0,002

-0,007

-0,01

Q3

0,003

0,01

-0,038

-0,023

Q4

0,027

0,042

0,012

0,007

Рівняння лінеаризації

1)M=0,4

H=0,022+0,006*(M-0,4)+0,001(H-0)

H=0,028+0,007*(M-0,4)+0,001(H-0,4)

H=0,038+0,008*(M-0,4)+0,003(H-0,6)

H=0,03-0,015*(M-0,4)+0,027(H-1,2)

2)M=0,6

H=0,023+0,024*(M-0,6)+0,002(H-0)

H=0,03+0,027*(M-0,6)+0,002(H-0,4)

H=0,044+0,018*(M-0,6)+0,01(H-0,6)

H=0,04-0,03*(M-0,6)+0,042(H-1,2)

3)M=0,8

H=0,024-0,022*(M-0,8)+0,005(H-0)

H=0,032-0,017*(M-0,8)-0,007(H-0,4)

H=0,05-0,02*(M-0,8)-0,038(H-0,6)

H=0,03-0,005*(M-0,8)+0,012(H-1,2)

4)M=0,9

H=0,027+0,03*(M-0,9)+0,01(H-0)

H=0,042+0,04*(M-0,9)-0,01(H-0,4)

H=0,012+0,03*(M-0,9)-0,023(H-0,6)

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

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

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

namespace MMDO_DOM

{

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.4)

{

if (H <= 0)

{

f = 0.022 + 0.006 * (M - 0.4) + 0.001 * (H - 0);

}

else

{

if (H>0 && H <= 0.4)

{

f = 0.028 + 0.007 * (M - 0.4) + 0.003 * (H - 0.4);

}

else

{

if (H>0.4&& H <= 0.6)

{

f = 0.038 + 0.008 * (M - 0.4) + 0.003 * (H - 0.6);

}

else

{

if (H>0.6&& H <= 1.2)

{

f = 0.03 - 0.015 * (M - 0.4) + 0.027 * (H - 1.2);

}

}

}

}

}

if (M > 0.4 && M <= 0.6)

{

if (H <= 0)

{

f = 0.023 + 0.024 * (M - 0.6) + 0.002 * (H - 0);

}

else

{

if (H > 0 && H <= 0.4)

{

f = 0.03 + 0.027 * (M - 0.6) + 0.002 * (H - 0.4);

}

else

{

if (H > 0.4 && H <= 0.6)

{

f = 0.044 + 0.018 * (M - 0.6) + 0.01 * (H - 0.6);

}

else

{

if (H > 0.6 && H <= 1.2)

{

f = 0.04 - 0.03 * (M - 0.6) + 0.042 * (H - 1.2);

}

}

}

}

}

if (M > 0.6 && M <= 0.8)

{

if (H <= 0)

{

f = 0.024 - 0.022 * (M - 0.8) + 0.005 * (H - 0);

}

else

{

if (H > 0 && H <= 0.4)

{

f = 0.032 - 0.017 * (M - 0.8) - 0.007 * (H - 0.4);

}

else

{

if (H > 0.4 && H <= 0.6)

{

f = 0.05 - 0.02 * (M - 0.8) - 0.038 * (H - 0.6);

}

else

{

if (H > 0.6 && H <= 1.2)

{

f = 0.03 - 0.005 * (M - 0.8) + 0.012 * (H - 1.2);

}

}

}

}

}

else

{

if (H <= 0)

{

f = 0.027 + 0.03 * (M - 0.9) + 0.01 * (H - 0);

}

else

{

if (H > 0 && H <= 0.4)

{

f = 0.042 + 0.04 * (M - 0.9) - 0.01 * (H - 0.4);

}

else

{

if (H > 0.4 && H <= 0.6)

{

f = 0.012 + 0.03 * (M - 0.9) - 0.023 * (H - 0.6);

}

else

{

if (H > 0.6 && H <= 1.2)

{

f = 0.007 - 0.007 * (M - 0.9) + 0.007 * (H - 1.2);

}

}

}

}

}

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

Console.ReadKey();

}

}

}

Блок-схема

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