- •Аналіз та обробка експериментальних даних засобами MathCAD в проектуванні СОС
- •1 Робота з файлами даних
- •1.1 Запис даних y файл
- •1.2 Зчитування даних з файла
- •1.3 Імпортування даних з файла
- •1.4 Експортування даних y файл
- •1.6 Обмін даних з іншими програмами
- •1.6.1 Обмін даними з Excel.
- •1.7 Підготовка даних до аналізу
- •1.8 Створення Масивів, використовуючи індекси
- •1.8.1 Створення елементів масиву математично
- •1.8.2 Створення масиву прямим введенням елементів
- •1.8.3 Створення масиву, використовуючи таблицю
- •1.8.4 Інші шляхи створення масиву даних
- •1.9 Сортування даних
- •1.9.1 Звертання до підмножин даних
- •1.9.2 Розділення даних на групи, використовуючи програму
- •2 Регресія
- •2.1 Використання line і medfit в лінійній регресії
- •2.1.1 Функції лінійної регресії
- •2.1.2 Функція line
- •2.1.3 Експоненційні дані
- •2.1.4 Medfit
- •2.2 Багатовимірна регресія
- •2.2.1 Багатовимірна поліноміальна регресія
- •2.2.2 Результати функцій regress і loess
- •2.2.3 Прогляд результатів interp
- •2.2.4 Зауваження
- •2.3 Спеціалізовані підгоночні функції
- •2.3.1 Використання спеціалізованих підгоночних функцій
- •2.4 Лінійна регресія з використанням linfit
- •2.4.1 Функція linfit
- •2.4.2 Представлення результатів функції
- •2.5 Узагальнена нелінійна регресія (genfit)
- •2.5.1 Функція Genfit
- •3 Інтерполяція
- •3.1.1 cspline інтерполяція багатьох змінних
- •3.1.2 Функція cspline
- •3.1.3 Функція interp
- •3.1.4 Прогляд результатів interp
- •4 Згладжування даних
- •4.1 Вбудовані функції згладжування
- •4.1.1 Функція medsmooth
- •4.1.2 Функція ksmooth
- •4.1.3 Функція supsmooth
- •5 КОНТРОЛЬНІ ЗАПИТАННЯ
- •6 ЛАБОРАТОРНЕ ЗАВДАННЯ
- •8 СПИСОК ЛІТЕРАТУРИ
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
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
