- •Мінчев Дмитро Степанович нагірний Антон Вікторович Лабораторні роботи з дисципліни:
- •1. Вимоги до виконання лабораторних робіт
- •2. Вимоги до побудови блок-схеми алгоритмів
- •3. Основи програмування у середовищі Visual Basic.
- •Application.Workbooks("Кафедра").Worksheets("Лист1").Range("Al")
- •If умова then
- •If умова then
- •Call ім’я_процедури (параметри) ім’я_процедури параметри
- •4. Побудова тривимірних графіків функцій у середовищі Mathcad
- •Теоретична частина
- •Лабораторна робота №1.
- •Лабораторна робота №2.
- •Лабораторна робота №3.
If умова then
оператор
End if
За необхідності виконання певного оператора (чи блока операторів) в залежності від результату перевірки умови потрібно використовувати наступну конструкцію:
If умова then
оператор1
Else
оператор2
End if
Цикл For…Next. Використовується в тому випадку, коли кількість повторів заданого блоку операторів заздалегідь відомо. Дана конструкція має наступний вид:
For лічильник = поч. значення to кінц. значення Step крок
оператор1
оператор2
Next лічильник
Цикл Do…Loop. Використовується в тому випадку, коли невідома кількість повторів заданого блоку операторів. Дана конструкція має чотири різновиди:
цикл виконується, якщо значення умови = "false"
Do Until умова ‘ Цикл з передумовою
оператор1
оператор2
Loop
Do
оператор1
оператор2
Loop Until умова ‘ Цикл з післяумовою
цикл виконується, якщо значення умови = "true"
Do While умова ‘ Цикл з передумовою
оператор1
оператор2
Loop
Do
оператор1
оператор2
Loop While умова ‘ Цикл з післяумовою
Цикл While…Wend. Також використовується в тому випадку, коли невідома кількість повторів заданого блоку операторів:
While умова ‘ Цикл з передумовою
оператор1
оператор2
Wend
Для створення окремих підпрограм, призначених для виконання певної послідовності дій, які можуть неодноразово використовуватися в тілі основної програми зручно використовувати функції користувача та процедури користувача, які оголошуються наступним чином:
Function ім’я_функції (параметри) [As тип_функції]
оператори
ім’я_функції = ім’я_змінної
End function
Sub ім’я_процедури (параметри)
оператори
End Sub
В якості параметрів виступають зміні, значення яких надходить до функції або процедури з основного тіла програми, або має бути передано з підпрограми до основного тіла програми.
Виклик функції в основному тілі програми здійснюється наступним чином:
ім’я_змінної = ім’я_функції
Виклик процедури користувача в основному тілі програми може виконуватися двома способами:
Call ім’я_процедури (параметри) ім’я_процедури параметри
В додатку наведені приклади використання вказаних конструкцій управління та команд при реалізації програми сортування масиву даних.
4. Побудова тривимірних графіків функцій у середовищі Mathcad
Результатом виконання плану експериментальних досліджень, як буде сказано нижче, дуже часто є регресійна функція однієї або декількох змінних, що описує поведінку дослідного параметра двигуна (цільової функції) у певному діапазоні зміни набору змінних параметрів (факторів). Візуалізація такої функції допомагає наочно відобразити закономірності впливу факторів на цільову функцію та в першому наближенні отримати значення оптимального поєднання факторів (за якого цільова функція досягає екстремуму). В середовищі Mathcad реалізована зручна робота з двовимірними та тривимірними графіками, основи якої будуть розглянуті в даному розділі.
Рис. 4.1 Побудова графіка функції, яка задана в аналітичному виді
На рис. 4.1 представлений приклад побудови тривимірного графіку регресійного рівняння функції двох змінних f (x, y) у середовищі Mathcad.
Для побудови даного графіку необхідно виконати наступні пункти:
Введіть значення коефіцієнтів регресійного рівняння b0, b1, …, b5.
Наберіть ім'я функції двох змінних, оператор присвоювання (:=) та запишіть праву частину регресійного рівняння (наприклад виду: f (x,y):=b0+b1x+b2y+b3xy+b4x2+b5y2).
Встановіть курсор у те місце, де ви хочете побудувати графік.
На математичній панелі Graph (Графік) натисніть на кнопку Surface Plot (Тривимірний графік, або поверхня). На місці курсору з'явиться шаблон тривимірного графіка.
У єдине місце введення шаблона графіка введіть ім'я функції (не вказуючи в дужках змінні).
Для побудови графіку регресійного рівняння в границях зміни факторів необхідно натиснути на графік правою кнопкою миші і в меню Властивості на вкладці Осі відмінити автомаштабування осей Х та Y та вказати границі зміни факторів вручну.
Рис. 4.2. Графік регресійної функції у вигляді ліній рівня
Для визначення області в якій знаходиться екстремум регресійної функції можна візуалізувати графік функції f (x, y) у вигляді ліній рівня, так, як зображено на рис. 4.2. Для цього на математичній панелі Graph (Графік) натисніть на кнопку Contour Plot (Лінії рівня), а потім ввести в єдине місце ім’я функції. Для відображення значень функції, що відповідають лініям рівня, необхідно в меню Властивості графіка на вкладці Спеціальні в параметрах контуру встановити необхідну кількість ліній рівня та встановити опцію «Нумерація».
Також для визначення локального екстремуму функції в середовищі Mathcad використовується функція root.
Для цього потрібно похідну функції прирівняти нулю. Функції root(df(x)/dx,x) повинне передувати початкове наближення (за замовчуванням df(x)/dx = 0). На рис 4.3 представлено алгоритм пошуку екстремуму функції регресійного рівняння заданого вище в середовищі Mathcad.
Рис 4.3. Пошук екстремуму функції регресійного рівняння
Для знаходження екстремуму функції варто виконати описані нижче кроки.
1. Задайте початкове наближення ближче до екстремуму.
2. Запишіть вираження з функцією root, де в якості функція, що повинна дорівнювати нулю, запишіть похідну по заданої змінній (df(x,y)/dx).
3. Обчислити значення заданої функції від знайденого кореня рівняння df(x,y)/dx=0.
Лабораторна робота №1.
Повний та дробовий факторний експеримент як засіб
дослідження процесів в двигунах внутрішнього згоряння.
Мета роботи: розробка програмного засобу для визначення плану-матриці повного факторного та дробового експерименту для вирішення інтерполяційних та оптимізаційних задач експериментальних досліджень ДВЗ.
