Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
47
Добавлен:
12.02.2016
Размер:
620.72 Кб
Скачать

3Інтерполяція

3.1Інтерполяція багатьох змінних з використанням

функцій Spline

Інтерполяція включає використання існуючих даних для передбачення значень між існуючими точками даних.

Напр., 2-змінна spline інтерполяція повертає інтерпольовану поверхню, яка перетинає всі надані точки даних. На відміну від 2-змінного регресійного аналізу повертає поверхню, яка мінімізує помилку між собою і реальними даними, але поверхня може не обов'язково перетнути точки даних. Таким чином, spline інтерполяція є дуже чутливою до “шумів" даних. Тому, „зашумлені” набори даних краще аналізувати за допомогою вбудованих в Mathcad регресійних функцій.

3.1.1cspline інтерполяція багатьох змінних

Єтри spline функції: cspline, pspline і lspline. Розглянемо методи для використання cspline, і врахуємо що ці методи є універсальними і придатними до інших функцій spline.

2-змінна кубічна spline інтерполяція дозволяє провести поверхню через сітку точок таким шляхом, що перші і другі похідні кривої є неперервними через кожну точку даних. Ця поверхня відповідає кубічному поліному в x і y, в якому перші і другі часткові похідні є неперервними у відповідному напрямку через кожну точку сітки.

3.1.2Функція cspline

cspline повертає вектор других похідних для масивів даних XY і Z, які містять значення для x і y і z, відповідно. Цей вектор буде першим параметром функції interp. Результуюча поверхня є кубічною на ребрах області, заданої в XY.

Параметри функції cspline(XY,Z) :

27

1.XY є масив розмірності (n x 2), чиї елементи XYi,0 і XYi,1 задають координати вздовж діагоналі прямокутної сітки, над якою проводиться інтерполяція. Ця матриця грає ту ж роль, що і vx в 1- вимірному варіанті. Ці точки описують діагональ, тому елементи в кожному стовпці повинні бути в порядку зростання. Напр.:

 

0

90

 

1

70

 

2

50

 

 

3

30

 

 

 

XY :=

4

10

 

5

10

 

 

6

30

 

 

 

 

7

50

 

 

 

 

 

 

8

70

 

2.Z є масив (n x n) реальних даних. іj-елемент масиву Z являє собою z-координатну відповідність точки x = XYi,0 and y =

XYj,1. Z грає ту ж роль,

що і vy в 1-вимірній ситуації.

10 5 0 5

0

5

0

5

10

 

5 10 5 0

0

0

5

10

5

 

 

0

5 10

5

0

5

10

5

0

 

 

5

0

5

10 0 10

5

0

5

 

 

 

Z := 0

0

0

0

10 0

0

0

0

 

 

5

0

5

10

0

10

5 0 5

 

 

0

5

10

5

0

5

10 5 0

 

 

 

 

5

10

5

0

0

0

5 10 5

 

 

 

 

 

 

 

 

 

 

 

 

10 5

0

5

0

5 0 5 10

3.Для використання функції cspline, її потрібно присвоїти якійсь змінній. Далі, цю змінну можна використати як

параметр в функції interp :

vs := cspline( XY,Z) .

3.1.3Функція interp

interp повертає spline-інтерпольоване значення Z в координатах x і y, що містяться в vs.

Параметри функції interp(vs,XY,Z,AT) :

1.vs, вивідний вектор наперед визначеної spline-функції.

2.Наперед визначений вектор XY .

3.Наперед визначена матриця Z .

28

G(x,y) := interp vs , XY,Z, yx

4.AT є вектор, чиї елементи є значеннями (в цьому випадку x і y), в якому потрібно визначити інтерпольоване значення z.

Можна визначити: функцію G(x, y) за допомогою виразу interp від x і y:

знайти одне

 

 

 

 

4

 

 

 

 

 

 

 

 

специфічне значення:

interp vs , XY,Z,

 

50

=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.5

1.5

2.5

3.5

4.5

5.5

6.5

7.5

8.5

можете визначити

AT :=

80

60

40

20

0

20

40

60

 

матрицю значень,

 

80

i := 0..cols(AT) 1

 

 

 

 

 

 

 

 

над якими викликати

 

AT0,i

 

 

 

interp:

Surfi :=

 

 

, XY,Z,

 

 

 

interp vs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AT1,i

 

 

 

Для найкращих результатів, значення x і y всередині AT повинні бути в області, оточеній xy-даними. Функцію interp не можна застосовувати для екстраполяції по інший бік області дії даних.

3.1.4Прогляд результатів interp

Представлення даних interp залежить від того, як це було задано. Для варіанту з 2-змінними ефективним є:

вектор даних, який можна

використати для побудови

Surf =

 

 

 

 

 

 

графіка поверхні.

 

 

 

 

 

для

графічного

представ-

 

 

 

лення

спочатку слід

створити

 

 

 

матрицю точок

даних від

 

 

 

матриць AT і Surf, який

 

 

 

використовує

вбудований

 

 

 

збільшують функцію:

 

 

 

 

 

SURF := augment(ATT ,Surf)

 

 

 

Для побудови графіка, по

 

 

 

значеннях x і y відкладаються

 

 

 

відповідні значення z, знайдені

 

 

 

за допомогою функції interp.

SURF

 

 

29

3.1.5Інші spline функції в Mathcad-і

pspline(Mxy,Mz) – це така ж функція, як і cspline, але результуюча поверхня є параболічною на границях.

lspline(Mxy,Mz) – це така ж функція, як і cspline, але результуюча поверхня є лінійною на границях.

30

Соседние файлы в папке ОАПСОС 1-3 лр+Практична