- •Міністерство освіти і науки України львівський національний університет ім. Івана франка
- •Курсова робота
- •Інтервальний метод Ньютона
- •Поняття лінійного функціонального інтервалу
- •Арифметичні операції над лінійними функціональними інтервалами
- •Метрика простору лінійного функціонального інтервалу. Ширина лінійного функціонального інтервалу.
- •Алгоритм розв’язування трансцендентних рівнянь, заснований на арифметиці лінійних функціональних інтервалів
- •2.1 Постановка задачі
- •2.2 Проектування і реалізація
- •Інтерфейс, робота програми та результат
- •Алгоритм розв’язування систем трансцендентних рівнянь, заснований на арифметиці лінійних функціональних інтервалів
- •Програмна реалізація та числові експерименти
Алгоритм розв’язування систем трансцендентних рівнянь, заснований на арифметиці лінійних функціональних інтервалів
Для здійснення алгоритму потрібно виконати такі кроки:
Побудувати лінійні функціональні інтервали – спрощені прямокутники.
Узгодити лінійні інтервальні обмежники окремо для функцій залежних від x та y. Узгодження необхідне для здійснення арифметичних операцій з даними обмежниками.
Здійснити арифметичну операцію додавання функцій, які залежать від різних змінних: одні – від x, інші – від y.
Опишемо покроково крок 3 - здійснення операції додавання таких функцій:
припускаємо, для функції, залежної від x, по осі абсцис дано список розбиттів spx = {x1, x2, …, xn} та для функції, залежної від y, по осі ординат – spy = {y1, y2, …, ym};
зафіксовуємо розбиття на проміжку [y1; y2] і поступово додаємо його до кожного з розбиттів на проміжках [x1; x2], [x2; x3],…[xn-1; xn]. Виконуємо цю ж дію і для розбиттів на інтервалах [y1; y2], [y2; y3],…[ym-1; ym];
в результаті отримаємо лінійні інтервальні обмежники у вигляді паралелепіпедів.
Використовуючи списки розбиттів spx, spy можна знайти інтервали, на яких знаходяться корені трансцендентного рівняння, розв’язати систему нерівностей та знайти мінімальне (максимальне) значення функції.
Програмна реалізація та числові експерименти
2.1 Постановка задачі
Проілюструвати математику лінійних функціональних інтервалів реалізацією розв’язання систем трансцендентних рівнянь у пакеті Mathematica.
2.2 Проектування і реалізація
Щоб побудувати спрощені лінійні інтервальні обмежники у вигляді прямокутників, потрібно:
відшукати локальний мінімум та максимум на графіку функції;
зафіксувати рівномірно три точки на проміжках [a;min(f(x))] або [a;max(f(x))], [min(f(x));b]; або [max(f(x));b];
відповідно відобразити фіксовані точки на графіку функції і прийняти їх за координати відповідного прямокутника, який і буде лінійний інтервальним обмежником.
Інтерфейс, робота програми та результат
На рис.1, рис.2, рис.3 показано
графічний інтерфейс, робота програми
при побудові спрощених лінійних
функціональних інтервалів у вигляді
прямокутників для рівняння
,
при x
а
саме для функцій
Для цього у пакеті Mathematica була написана процедура:
operation[value_, f_, a_, b_] := Block[{data},
data = Table[{x, f[x]}, {x, a, b, 0.1}];
Graphics[{Thick, Blue, Line[data], Green,
Table[Point[{value[[i]], f[value[[i]]]}], {i, 1, Length[value]}],
Pink, Opacity[.7],
Table[Rectangle[{value[[i]], f[value[[i]]]}, {value[[i + 1]],
f[value[[i + 1]]]}], {i, 1, Length[value] - 1}]
}, Axes -> True]]
Дані списки розбиттів:
spxsin = {-1,-0.35,0.3,0.95,1.6,2.375,3.15,3.925,4.7,5.025,5.35,5.675,6};
spxcos = {-1,-0.75,-0.5,-0.25,0,0.775,1.55,2.325,3.1,3.825,4.55,5.275,6};
Виклик процедури:
operation[spxsin, Sin, -1, 6]
operation[spxcos, Cos, -1, 6]
operation[spxlny, Exp, 1, 6];
operation[spxey, Log, 1, 6]
В результаті отримаємо:
Рисунок 1 – Графік функції sin(x)
Рисунок 2 – Графік функції cos(x)
Рисунок 3 – Графік функції ln(y)
На рис. 4, 5, 6 покажемо результат виконання процедури після кроку алгоритму, який відповідає за узгодження.
Рисунок 4 – Узгоджений графік функції sin(x)
Рисунок 5 – Узгоджений графік функції cos(x)
Рисунок 6 – Узгоджений графік функції ln(y)
На рис. 7 покажемо результат операції
додавання функцій від різних змінних
–
,
.
Риунок 7 - Графік суми графіків функцій з різними аргументами
Для зручності можна відобразити площину із прямокутниками в 2D на рис.8 і побачити переріз накладених прямокутників (лінійних інтервальних обмежників), у якому знаходяться корені рівняння. Це буде результатом виконання програми.
Рисунок 8 – Графік області, в якій розташовані розв’язки.
Розв’язки розташовані
на області :
.
Висновки
Під час виконання курсової роботи було ознайомлено з літературою, яка стосуються пакету Mathematica, інтервального аналізу та арифметики лінійних функціональних інтервалів.
Розроблена програма, що дає можливість знаходити всі корені заданої системи рівнянь з початковими інтервалами та списками розбиттів за допомогою алгоритму розв’язування систем трансцендентних рівнянь, заснованого на арифметиці лінійних функціональних інтервалів. Було проведене тестування програми.
В результаті було виконано всі поставлені задачі: знайдено необхідну інформацію, досліджено специфіку структури алгоритму, написана і протестована відповідна програма.
Список використаних джерел:
Дьяконов В. П.Mathematica 5.1/5.2/6. Программирование и математические вычисления.– М.: ДМК_Пресс, 2008. – 576 с.: ил.
Сеньо П. С. Вісн. Львів. ун-ту, Сер. пр. матем. та інф. 2014 Вип. 20,19с.
Арифметика лінійних функціональних інтервалів
Сеньо П. С. Вісн. Львів. ун-ту, Сер. пр. матем. та інф. 2014 Вип. 20,209-222с. Топологія простору лінійних функціональних інтервалів
Шокин Ю. Н. Интервальный анализ.-Новосибирск:Наука,1881
Yu. I. Fomin, Yu. I. Shokin: Interval Methods of Solution of the Cauchy Problem for Ordinary Differental Equations and Their Machine Realization, Germany
http://reference.wolfram.com/mathematica/guide/Mathematica.html
