- •Ціль і задачі курсу
- •Самостійна робота
- •МАСИВИ
- •Рисунок 1. Ввід і вивід одномірного масиву
- •Рисунок 2. Ввід і вивід двовимірного масиву
- •Лабораторна робота №6
- •Лекція №10. ОСНОВИ РОБОТИ В MS EXCEL
- •Відображення
- •Об'єкт.Властивість=Вираз
- •14.3. Лабораторна робота №4
- •Тема: «Організація вкладених циклів»
- •Результати
- •Масив Х
- •Масив Y
- •Сума
- •Масив Х
- •Масив Y
- •Добуток
- •Властивість
- •Опис
- •Опис
- •Опис
- •Опис
- •Багаточлен другого ступеня.
- •Укладачі: Добровольський Юрій Миколайович
- •Єфіменко Костянтин Миколайович
87
|
y - y0 |
= |
x - x0 |
Þ y = y |
0 |
+ |
|
x - x0 |
( y |
- y |
0 |
) Þ |
y = y |
0 |
- y |
0 |
x - x0 |
+ |
x - x0 |
y |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||
y |
- y |
0 |
|
|
|
x |
- x |
0 |
|
|
|
|
|
|
|
x - x |
0 |
|
1 |
|
|
|
|
|
x |
- x |
0 |
|
x - x |
1 |
||||||||||||
|
1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
0 |
|
||||||||
y = |
x - x1 |
|
y |
0 |
+ |
|
x - x0 |
|
y |
- поліном Лагранжа 1-ого ступеня. |
|
|
|
|
|
|
|
|
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||||||||
|
|
|
x0 - x1 |
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
x1 - x0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
l |
|
(x) = |
x - x1 |
, |
|
l |
(x) = |
x - x0 |
|
, l |
(x) , |
i = |
|
- коефіцієнти Лагранжа. |
|
|
|
|
||||||||||||||||||||||||
0 |
|
|
0,1 |
|
|
|
|
|||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
||||||||||||||||||||||||||||||||||||
|
|
|
|
|
x0 |
- x1 |
|
1 |
|
|
x1 |
- x0 |
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
y = l0 (x) y0 + l1(x) y1 l0 (x0 ) = 1 , l0 (x1) = 0 , l1(x0 ) = 0 , l1(x1) = 1 |
|
|
|
|
|
|||||||||||||||||||||||||||||||||||||
y* = l0 (x*) y0 + l1(x*) y1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
Краще інтерполяція:
1.Зменшити xi-xi-1
2.Підвищити ступінь полінома Лагранжа.
|
|
|
|
|
|
|
|
x0 |
x1 |
x2 |
xn |
x |
|
|
|
|
|
|
|
|
Багаточлен другого ступеня. |
|
|
|
|
x |
|
x0 |
|
x1 |
|
x2 |
y = l0 (x) y0 + l1(x) y1 + l2 (x) y2 |
|
|
|||
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|||
y |
|
y0 |
|
y1 |
|
y2 |
|
|
||||
|
|
|
|
|
При n=2 отримуємо багаточлен 2-го ступеня. При цьому треба задати три
точки (тому що три точки не лежачі на одній прямій обумовлюють параболу єдиним образом).
li (x), i = 0,2 - коефіцієнти Лагранжа. |
|
||||||||
l0 |
(x) = |
(x - x1)(x |
- x2 ) |
, |
l1(x) = |
(x - x0 )(x - x2 ) |
, |
||
(x0 - x1)(x0 - x2 ) |
(x1 - x0 )(x1 - x2 ) |
||||||||
|
|
|
|
|
|
||||
l2 |
(x) = |
(x - x0 )(x - x1) |
|
|
|
|
|
||
(x2 - x0 )(x2 - x1) |
|
|
|
|
|
||||
|
|
|
|
|
|
|
|||
l0 (x0 ) = l1(x1) = l2 (x2 ) = 1, |
l0 (x1) = l0 (x2 ) = 0 , |
|
|||||||
l1(x0 ) = l1(x2 ) = l2 (x0 ) = l2 (x1) = 0 |
|
|
|||||||
|
|
|
Багаточлен n-го ступеня. |
|
|||||
|
|
|
|
|
|
|
n |
|
y = Pn (x) = l0 (x) y0 + l1(x) y1 +L+ ln (x) yn = ål j (x) y j j =0
88 |
|
(x - x0 )(x - x1)L(x - x j -1)(x - x j +1)L(x - xn ) |
Õ(x - xi ) |
i ¹ j |
lj (x) = (x j - x0 )(x j - x1)L(x j - x j -1)(x j - x j +1)L(x j - xn ) = Õ(x j - xi )
i¹ j
Õ(x - xi )
i¹ j
lj (x) = Õ(x j - xi ) i ¹ j
1.l j (x) - багаточлен n-го ступеня.
2.l j (x j ) = 1, l j (xi ) = 0, если i ¹ j
При n=5 |
l2 (x) = |
|
(x - x0 )(x - x1)(x - x3 )(x - x4 )(x - x5 ) |
|
||
(x2 - x0 )(x2 - x1)(x2 - x3 )(x2 - x4 )(x2 - x5 ) |
||||||
|
|
|
||||
|
l0 |
(x) = |
|
(x - x1)(x - x2 )(x - x3 )(x - x4 )(x - x5 ) |
||
|
|
(x0 - x1)(x0 - x2 )(x0 - x3 )(x0 - x4 )(x0 - x5 ) |
||||
|
|
|
|
Обчислення значень полінома Лагранжа.
Чисельник і знаменник |
l j (x) помножимо на x - x j |
|
|
|
|
|||||||
l j |
(x) = |
(x - x0 )(x - x1 )(x - x2 )L(x - x j -1 )(x - x j )(x - x j +1 )L(x - xn ) |
Õ n+1 (x) |
|||||||||
|
|
|
|
|
|
|
= |
|
|
|||
(x j - x0 )(x j - x1 )(x j |
|
|
|
|
|
|
|
D j |
||||
|
|
|
- x2 )L(x j - x j -1 )(x - x j )(x j - x j +1 )L(x j - xn ) |
|
||||||||
|
|
|
n |
n |
Õ n+1 (x) |
|
|
n |
|
|
|
|
Þ y = Pn (x) = ål j (x) y j = å |
y j |
= Õ n+1 (x)å y j D j |
|
|
|
|
||||||
|
|
|
j =0 |
j =0 |
D j |
|
|
j =0 |
|
|
|
|
|
|
|
Таблиця обчислень значень полінома Лагранжа. |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xi-xj |
|
|
|
Di |
yi |
yi/Di |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
x-x0 x0-x1 x0-x2 … x0-xn |
|
D0 |
Y0 |
Y0/D0 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
x1-x0 x-x1 x1-x2 … x1-xn |
|
D1 |
Y1 |
Y1/D1 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
x2-x0 x2-x1 x-x2 … x2-xn |
|
D2 |
Y2 |
Y2/D2 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
|
x3-x0 x3-x1 x3-x2 |
x-x3… x3-xn |
|
D3 |
Y3 |
Y3/D3 |
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||
|
|
--------------------------------------- |
|
: |
: |
: |
|
|
|
|||
|
|
|
|
|
|
|
|
|
||||
|
|
xn-x0 xn-x1 xn-x2 xn-x3 … x-xn |
|
Dn |
Yn |
Yn/Dn |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
89
Pn+1(x) дорівнює добутку різниці на головній діагоналі:
Pn+1(x)=(x-x0)(x-x1)(x-x2)…(x-xn),
Di рівно добутку різниці в кожному рядку.
|
n |
|
|
|
|
|
|
∑= å yi |
D |
, |
|
Pn(x)= Pn+1(x)∑. |
|||
|
i =0 |
|
i |
|
|
|
|
|
|
|
|
|
|
||
Матриця різностей є антисиметричною(числа симетричні щодо головної |
|||||||
діагоналі рівні по модулі й протилежні за знаком). |
|||||||
Приклад. |
|
|
Дано три значення аргументух і відповідніним |
||||
|
|
|
|
|
|
|
|
|
i |
|
0 |
1 |
|
2 |
значення y. Побудувати поліном Лагранжа й знай- |
|
x |
|
2 |
3 |
|
5 |
ти його значення в проміжній точці x*=4. |
|
y |
-2 |
-3 |
1 |
|||
|
|
||||||
|
Ступінь |
|
полінома |
Лагранжа не одиницю менше числа точок, що тому інтерполює функція, яка ін-
терполює – квадратний тричлен (n=2).
P2 (x) = l0 (x) y0 + l1(x) y1 + l2 (x) y2
Складемо відповідної різниці: |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xi-xj |
|
Di |
|
yi |
|
Yi/Di |
|
|
|
|
2 |
-1 |
-3 |
6 |
|
-2 |
|
-1/3 |
|
|
|
|
1 |
1 |
-2 |
-2 |
|
-3 |
|
3/2 |
|
|
|
|
3 |
2 |
-1 |
-6 |
|
1 |
|
-1/6 |
|
|
|
|
|
x*-x0 |
x0-x1 |
x0-x2 |
|||||
|
|
|
|
x1-x0 |
x*-x1 x1-x2 |
||||||
|
|
|
|
x2-x0 |
x2-x1 |
|
x*-x2 |
||||
2 |
|
|
|
|
|
|
|
|
|
|
|
∑= å yi |
Di |
= -13 + 3 2 - 16 = 1, Õ3 (x* ) = -2, y* = P2 (x*) = Õ3 (x*) × ∑=-2 |
|||||||||
0 |
|
|
|
|
|
|
|
|
|
|
|
Якщо в останню формулу замість *хпідставити поточне значення ,хто отримаємо аналітичний вид функції, що інтерполює:
y=x2-6x+6
Для автоматизації методу інтерполяції приводиться блок-схема алгоритму.
90
Початок
Ввід
N, x*
i = 0, N
Ввід
x(i), y(i)
S=0, P=1
i = 0, N
|
y*=P·S |
|
D=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
j = 0, N |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
S=S+y(i)/D |
_ |
|
|
|
|
|
|
|
i=j |
+ |
||
|
|
|
||||
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
P=P·(x*-x(i)) |
|
|
D=D·(x(i)-x(j)) |
|
||||
|
|
D=D·(x*-x(i)) |
||||
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Вивод
y*
Кінець
91
Список літератури
1. Информатика. Базовый курс. 2-е издание / Под ред. С.В. Симоновича.
СПБ.: Питер, 2004. – 640 с.
2. Методическое пособие. «Основы алгоритмизации»/ К.Н. Ефименко, Ю.Н.
Добровольский, В.С. Ильяшенко – Донецк: ДонНТУ, 2005. – 75 с.
3. Методическое пособие. Программирование в среде Visual Basic for Application. Части 1 и 2./ В.В. Шамаев, К.Н. Ефименко и др.- Донецк: ДонНТУ, 2005. – 100 с.
4. Методичні вказівки і завдання до лабораторних робіт за курсо
«Інформатика і основи програмування»/ К.М. Єфіменко, Ю.М. Добровольський.
–Донецьк: ДВНЗ «ДонНТУ». – 2009. – 60 с.
5.Д. Холи, Р. Холи. Excel 2007. Трюки. – СПб.: Питер, 2008. – 368 с.
6.Б. Джелен, Т. Сирстад. Применение VBA и макросов в Microsoft Office Excel. – М.:Вильмс, 2005. – 624 с.
7.Методическое пособие. Задачи математики с элементами функциональ-
ного анализа в MS Excel/ Ю.Н. Добровольский, К.Н. Ефименко, - Донецк: Дон-
НТУ, 2003. – 67 с.