- •Етапи підготовки і рішення задач на еом
- •Програма, що не має помилок часу трансляції і виконання, може і не дати вірних результатів через так звані логічні помилки в обраному алгоритмі, тобто алгоритмічних помилок.
- •Запис алгоритмів у виді блок – схем
- •Мови програмування
- •1. Основні поняття алгоритмічної мови Бейсік.
- •3. Сталі та змінні.
- •4. Функції. Вирази.Оператор присвоєння
- •Вправи та запитання
- •5. Надання значень змінним
- •Оператор read.
- •6. Виведення результатів
- •Оператор Результат
- •Оператор Результат
- •7.Лінійні програми
- •Розгалуження
- •1.Логічний вираз
- •3. Команда розгалуження if. Повна форма умовної команди.
- •10.Цикли
- •11.Оператори циклу
- •12. Обчислення суми, добутку
- •13. Ітераційні цикли
- •14. Вкладені цикли
- •Мал.12 Схеми вкладених циклів.
- •15. Використання масивів
- •Вправи та запитання
- •16. Нестандартні функції та підпрограми
- •17. Робота з текстовими даними
- •18. Оператори роботи з графічною інформацією.
- •19. Робота з файлами даних
- •20 Основи роботи в пакеті MathCad
- •Визначення основних понять та позначень, безпосередньо зв'язаних з процесом обчислень у середовиіщі пакету Вхідний алфавіт
- •Типи констант і змінних
- •Розмірність, одиниці вимірів та одиниці маштабування
- •Базові обчислювальні конструкції пакета
- •Реалізація ітеративних обчислень.
- •Функції керування обчисленнями
- •Побудова декартових графіків
- •Методи доступу і роботи з файлами даних
- •Вбудовані функції та функції користувача
- •Розділ 21Алгоритми та програми реалізації загальних чисельних методів.
- •21.1. Розв’язання систем лінійних рівнянь.
- •21.2 Інтерполяція та екстраполяція.
- •21.3. Розв’язання нелінійних та трансцендентних рівнянь.
- •21.4 Розв’язування систем нелінійних рівнянь.
- •Програма 14
- •21.5. Пошук екстремумів функцій одної та багатьох змінних.
- •Програма 15
- •Програма 16
- •Програма 17
21.5. Пошук екстремумів функцій одної та багатьох змінних.
На практиці часто необхідно знайти екстремум (чи екстремуми) деякої цільової функції F(x ,x ,…,x )n змінних х (проектних параметрів). Така функція описує (n+1)-мірну поверхність. Відповідно функція F(x) одного параметру x =x описує деяку криву на площині. Пошук екстремумів функцій однієї змінної є самостійним завданням, яке часто зустрічається. Крім того, йому належить більш складне завдання пошуку екстремумів функцій більшості змінних.
В загальному випадку функція F(x) може містити декілька екстремумів (максимумів чи мінімумів). З них головний (оптимальне рішення для простору проектування) називається глобальним. Завдання пошуку екстремумів зводиться до їх локалізації та конкретизації значень х та F(x) в точці екстримуму. В подальшому для функцій однієї змінної під екстримумом буде матись на увазі максимум F(x). Оскільки максимуму функції F(x) відповідає мінімум функції –F(x), то змінивши знак у F(x), програмами пошуку максимуму можна користуватися і для пошуку мінімуму функцій. Будемо також вважати, що на зміну х (якщо це окремо не обговорено) накладаються обмеження у вигляді нерівності axb, де а та b – межі інтервалу пошуку. Вмежах відрізка а,b функцію рахуємо унімодальною, тобто тою, яка містить один максимум.
Метод рівномірного пошуку базується на тому, що змінній х присвоюються значення х+ х з кроком х=const та обчислюється значення F(x). Якщо F(x )F(x ), то змінна х дістає нове рівняння. Як тільки F(x ) стане меншим за F(x ), пошук зупиниться. При малій заданій похибці цей метод є неекономічним по затратах машинного часу.
Метод порозрядного наближення є різновидністю методу рівномірного пошуку і реалізується слідуючим алгоритмом:
Задаємо початкове наближення х=х зліва від максимуму F(x) і обчислюємо F(x ). Задаємо D=h, де h= x – початковий крок пошуку.
Вважаємо G=F(x ), де початкове F(x )=F(x ), задаємо x=x+D та обчислюємо F(xn+1)=F(x).
Перевіряємо умову F(xn+1)G; якщо вона виконується, то переходимо до п.3, а якщо ні – до п.4.
Вважаємо, що D=-D4. Перевіряємо умову DE4, де E – задана похибка обчислення хm в точці максимуму. Якщо воно виконується, переходимо до п.2, тобто забезпечуємо пошук максимуму в іншому напрямку з кроком, який менший від попереднього на 4 рази.
Програма 15
10 PRINT ‘Пошук максимуму F(x) методом’
15 PRINT ‘ Порозрядного наближення’
20 INPUT ‘Введіть початковий крок пошуку H=’H
25 INPUT ‘Задайте похибку результату E=’E
30 INPUT ‘ Задайте початкове значення x x0=’x
35 LET D=H:GOSUB 80
40 LET G=F:LET X=X+D:GOSUB 80
50 IF FG THEN 40
60 LET D=-D/4: IF ABS(D)>E/4 THEN 40
70 PRINT ‘XM=’X:PRINT’F(XM)=’F:STOP
80 LET F=((.1*X-2)*X+10)*X
90 RETURN:END
Метод дихотомії (розділення інтервалу пошуку a,b на дві частини) реалізується слідуючим алгоритмом:
Перевіряємо умову b-a2E, де E – задана похибка обчислення хm. Якщо ця умова виконується, переходимо до п.2.
Ділимо інтервал пошуку a,b на дві частини і обчислюємо дві абсциси, які розташовані симетрично відносно точки x=(a+b)/2: x1=(a+b-)/2 та x2=(a+b+)/2.
Для цих значень х обчислюємо F(x1) та F(x2).
Перевіряємо умову F(x1)>F(x2). Якщо вона виконується, то вважаємо b=x2 і переходимо до п.1. Якщо не виконується, переходимо до п.5.
Вважаємо a=x1 і переходимо до п.1.
Виводимо на друк xm=(a+b)/2 і обраховуємо F(xm).