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


ділення беруть відрізок [a, c], інакше – [c, b]. Обчислення відбувається поки довжина відрізка більша за о. Метод називається золотого перерізу тому, що при виборі точок 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. Графічний алгоритм підпрограми оптимізації функцій

1

2

3

4

5

6

7

8

ні

9

так

10

ні

так

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

Блок 1. Заходимо в функцію Zolper.

Блок 2-4. Присвоєння значень усім константам.

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

Блок 6-7. Обраховуємо значення d, і присвоюємо його змінній с0.

Блок 8. Звертаємось до підпрограми числового інтегрування функцій.

Блок 9. Задаємо умову, при якій порівнюється різниця b-a і похибка eps.

Блок 10. Порівнюємо змінні у1 і у2, і якщо у1<y2: b=d;d=c;c=a+0.38*(b-a);c0=c;y2=y1; і змінній u присвоюється значення с, в іншому

випадку: a=c;c=d;d=b-0.38*(b-a);c0=d;y1=y2; а змінна u=d.

Блок 11. Повернення із функції.

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.

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

Відповідно до одного з методів, рішення задачі можна отримати за правилом Рунге-Кутта вигляду (1). Метод Рунге-Кута має четвертий порядок точності. Ця формула визначає ітераційний процес, який зводиться до операцій матрично-векторної арифметики.

(1)

Всі проміжні коефіцієнти ki можуть бути обчислені лише послідовно. Паралелізм може бути реалізований при розрахунку кожного з коефіцієнта. Це може бути досягнуто за рахунок використання паралельних матрично–векторних арифметичних операцій, описаних вище.

Альтернативний метод рішення задачі Коші за правилом Рунге-Кутта – розрахунок повного оператора (матриці) переходу. Ця операція виконується заздалегідь і одного разу (до виконання ітерацій методу) по формулі (3.3). Таким чином, весь ітераційний процес зводиться до серії послідовних множень матриці на вектор.

(3.3)

Перевага підходу з розрахунком матриці переходу виявляється при великій кількості ітерацій методу Рунге-Кутта. Відповідно для певної кількості ітерацій кращі показники демонструватиме підхід з розрахунком проміжних величин.

Характерна межа методів Рунге-Кутта: ітераційний процес пошуку рішення задачі Коші. Паралелізм реалізується в процесі обчислень на кожному кроці при розрахунку проміжних величин. Обчислювальна залежність проміжних величин в загальному випадку не дозволяє здійснювати одночасний розрахунок наближень рішення на різних кроках методу Рунге-Кутта.

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

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

· Заходимо в функцію RunKut.

· Присвоєння значень усім константам.

y[0]=y[1]=y[2]=0 - Масив правих частин системи диф. рівнянь.

b0=c0*k1*k2;

a0=1+b0;

yb[0]=0 - Масив значень величини у (для графіка).

· Задаємо умову з накопиченням змінної і при і=1,і<=n.

Дальше задається ще шість раз умова з накопиченням вже змінної j, при j=0,j<m. Після перевірки кожної умови знаходяться значення коефіцієнтів формули Руннге-Кута, та відбувається звернення до підпрограми systema.

· Знаходимо масив значень величини уb (для графіка), і повертаємо отримані значення у головну програму.

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

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

Метод парабол (Сімпсона)

Точність чисельного інтегрування помітно зростає, якщо підінтегральну функцію y=f(x) на відрізку [a,b] замінити квадратичною функцією, яка у вузлах x0, x1, x2 співпадає з функцією f(x). Підінтегральну функцію f(x) замінимо інтерполяційним многочленом Ньютона другого степеня, записаним у наступному вигляді

Тоді

Для підвищення точності обчислень відрізок [a,b] розбивають на n пар відрізків і замінюють підінтегральну функцію інтерполяційним


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