У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


відбувається поки довжина відрізка більша за о. Метод називається золотого перерізу тому, що при виборі точок c i d задовільняється умова

(c - a)/(b - a) = (b - d)/(b - a) ? 0.38. Ця умова дозволяє використовувати значення f(c) або f(d) вже обчислені на попередньому кроці циклічного процесу.

Алгоритм методу золотого перерізу представляє собою цикл з розгалуженням всередині циклу. Перед циклом знаходять місцезнаходження точок c i d за формулами: c = a + 0.38*(b-a), d = b - 0.38*(b - a) та обчислюють y1 = f(c) i y2=f(d). В циклі перевіряють умову: якщо f(c) < f(d), то b = d, d = c, y2 = y1, c = a + 0.38*(b-a), y1 = f(c), інакше a = c, c = d, y1 = y2, d = b - 0.38*(b - a), y2 = f(d). Цикл виконується поки b - a > о.

 

3.2. Графічний алгоритм підпрограми оптимізації функцій

 

 

ні

так

ні

так

3.3. Опис алгоритму оптимізації функцій

Блок 1. Входимо в підпрограму.

Блок 2. Оголошення коефіцієнтів і присвоєння їм значень.

Блок 3. Обчислюємо початкове значення коефіцієнта оптимізації c=a+0.38*b.

Блок 4. Звернення до функції (Метод обчислення означеного інтегралу: лівих прямокутників). Присвоєння коефіцієнту у1 результату виконання функції.

Блок 5. Обчислюємо початкове значення коефіцієнта оптимізації

c=b-0.38*b.

Блок 6. Звернення до функції (Метод обчислення означеного інтегралу: лівих прямокутників). Присвоєння коефіцієнту у2 результату виконання функції.

Блок 7. Зациклення програми за допомогою оператора циклу з передумовою b-a>0.001.

Блок 8. Розгалуження за допомогою умовного оператора (умова:у1<у2).

Блоки 9-14(15-20).Переприсвоїння значень коефіцієнтів оптимізації.

 

Блок 21. Завершення підпрограми; повернення значення коефіцієнта u.

4. Підпрограма розв’язування системи дифрівнянь

 

4.1. Перетворення заданого дифрівняння в систему дифрівнянь

Для перетворення заданого дифрiвняння в систему рiвнянь першого по---рядку застосуємо таку пiдстановку:

Ваpiант 0: y=x3;

y'=x3'=x2;

y''=x3''=x2'=x1.

Система дифрiвнянь прийме вигляд

x1'=(b0-a0*x3-a1*x2-a2*x1)/a3;

x2'=x1;

x3'=x2.

Початковi умови: x1=x2=x3=0 при t=0. Вихiдна величина y=x3.

4.2. Опис методу розв’язування системи дифрівнянь

Постановка задачі (задача Коші) має вигляд диференціального рівняння з початковими умовами

yР = f(t,y), y = y0 при t = t0. t Є [a, b].

Для її наближеного розв’язання застосовуються так звані однокрокові методи: Ейлера, Ейлера покращений, Ейлера-Коші та Рунге-Кута. Їх суть полягає в тому, що діапазон інтегрування [a, b] ділять на n елементарних відрізків довжиною h. Значення шуканої функції в точці t0=a відомо з початкових умов, а її обчислення в першій і наступних точках аж до точки tn=b виконують за поданими нижче формулами. При цьому h=(b-a)/n, t0 = a, tn = b, ti+1 = ti+h, yi=f(ti), i=0,1,2, ... n.

Алгоритм розв’язування дифрівняння однокроковими методами представляє собою цикл з накопиченням суми.

Метод Рунге-Кута має четвертий порядок точності. На кожному кроці циклічного обчислювального процесу знаходять допоміжні коефіцієнти a, b, c, d. Формули мають такий вигляд:

a = f(ti, yi);

b = f(ti+h/2, yi + ha/2);

c = f(ti+h/2, yi + hb/2);

d = f(ti+h, yi + hc);

yi+1 = yi + h(a + 2b + 2c + d)/6.

 

4.3. Графічний алгоритм розв’язування системи дифрівнянь

systema()

4.4. Опис графічного алгоритму розв’язування системи дифрівнянь

 

Блок 1. Входимо в підпрограму.

Блок 2. Оголошення коефіцієнтів і присвоєння їм початкового значення 0.

Блок 3. Обчислюємо значення коефіцієнтів b0, a0.

Блок 4. Зациклення програми за допомогою оператора циклу з початковою умовою і=0,умовою виконання циклу і?n та кроком 1.

 

Блоки 5,8,11,14,17. Зациклення програми за допомогою оператора циклу з початковою умовою j=0,умовою виконання циклу j?m та кроком 1.

Блоки 6,9,12,15,18. Обчислення коефіцієнтів для методу розв’язування системи дифрівняння aj, bj, cj,dj,; обчислення значення функції уj де F1=zj+(aj+2*( bj+ cj)+ dj)/6 .

Блоки 7,9,13,16. Звернення до функції (система диференціальних рівнянь).

Блок 19. Присвоєння ybi значення y2.

 

Блок 20. Завершення підпрограми.

Опис графічного алгоритму системи дифрівнянь ( systema() )

Блок 1. Входимо в підпрограму.

Блок 1. Обчислення значення f0=(b0-a0*y2-a1*y1-a2*y0)/a3.

Блок 1. Обчислення значення f1= у0.

Блок 1. Обчислення значення f2= у1.

Блок 20. Завершення підпрограми.

5. Підпрограма числового інтегрування функцій

 

5.1. Опис методу числового інтегрування функцій

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

.

Інтеграл функції чисельно дорівнює площі (на рисунку 1 заштрихована), обмеженій лініями: t=a, t=b, y=0 i y=f(t). Для її наближеного обчислення застосовуються методи: прямокутників, трапецій і парабол, які передбачають заміну кривої y=f(t) відповідно ступінчатою та ламаною лініями або параболою. Суть цих методів полягає в тому, що діапазон інтегрування [a, b] ділять на n елементарних відрізків довжиною h, після чого виконують обчислення за поданими нижче формулами, які називаються квадратурними. При цьому h=(b-a)/n, t0 = a, tn = b, ti+1 = ti+h, yi=f(ti).

Алгоритм числового інтегрування функцій представляє собою цикл з накопиченням суми.

Метод правих прямокутників s = h*(y1 + y2 + y3 + ... + yn) або .

 

5.2. Графічний алгоритм числового інтегрування функцій

Рисунок 5.2

5.3. Опис графічного алгоритму числового інтегрування функцій

 

Блок 1. Входимо в підпрограму.

Блок 2. Звернення до функції ( Метод розв'язування системи дифрівнянь: Рунге-Кута )

 

Блок 3. Присвоєння сумі значень елементів масиву у початкового значення (= 0).

Блок 4. Зациклення програми за допомогою оператора циклу.

Блок 5. Нарощення суми.

Блок 6. Знаходження добутку суми елементів массиву у на крок інтегрування.

Блок 7. Завершення підпрограми; повернення значення добутку суми на крок S.

6. Підпрограма побудови графіка функції

6.1. Графічний алгоритм побудови графіка

 

6.2. Опис алгоритму побудови


Сторінки: 1 2 3