- •Аналіз та обробка експериментальних даних засобами 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 СПИСОК ЛІТЕРАТУРИ
2.vy є вектор n-елемента дійсних значень даних. Вони відповідають y-значенням.
vy := DATA 1 |
med := medfit(vx,vy) |
||||
Функція medfit повертає: |
|
|
|
||
Зміщення: |
Нахил: |
||||
med0 = 0.028 |
|
|
med1 = 0.231 |
|
|
|
|
||||
|
|
||||
Тоді функція, яка описує найкраще наближення можна записати:
g(x) := med0 + med1 x
2.2Багатовимірна регресія
Регресія означає використання існуючих даних для передбачення значень між явними точками даних. Напр., 2- змінний регресійний аналіз формує поверхню, яка мінімізує помилку між регресійними і фактичними даними. На відміну від регресії, інтерполяція забезпечує відповідність поверхні через всі існуючі точки даних.
Регресійна поверхня не повинна проходити через кожну точку даних (інколи вона не перетинає жодну точку!). Таким чином, регресійний аналіз є значно менш чутливий до “шумливих" даних і точок із грубими викидами.
2.2.1Багатовимірна поліноміальна регресія
Функції regress і loess використовуються для встановлення відповідності поліноміальної поверхні через множину експериментальних значень z, які відповідають значенням x і y.
Функція regress повертає вектор коефіцієнтів, які використовує interp для знаходження k-степеневої поліноміальної поверхні, що дає найкраще наближення до експериментальних даних x, y і z. regress намагається описати всі точки даних з використанням одного полінома. Тому, вона не дає хороших результатів для даних що не поводять себе як єдиний поліном.
Функція loess повертає вектор, який використовує interp для знаходження множини поліноміальних поверхонь 2-ї
17
степені, що дають найкраще наближення експериментальних даних x y і z в контрольованому околі значень х і y. loess представляє локалізовану регресію, шляхом генерації різних поліномів в залежності від розміщення точок даних.
Параметри regress. Функція regress використовує три
параметри – regress ( XY,VZ,k) :
1.XY є 2-мірним m–елементним масивом координат x та y (значення x – в першому стовпці, значення y – в другому).
2.VZ є m-елементний вектор, який містить z-значення, що відповідають значенням x і y (які містяться в XY).
3.k є степінь поліноміальної поверхні, яку потрібно побудувати по існуючих даних. За звичай, це число є менше 5.
4.Величину k можна оцінити з наступного обмеження:
m > |
|
n + k − 1 |
|
n + k |
|||
|
k |
|
n |
|
|||
|
|
||||||
Напр., для наступних даних XY і VZ, k=2 :
Коефіцієнти регресії знаходимо за допомогою функції regress:
rs := regress ( XY,VZ,k) .
де m – кількість експериментів;
а n – кількість незалежних змінних.
|
0 |
−90 |
|
0 |
|
|
|
1 |
−70 |
|
0.774 |
|
|
|
2 |
−50 |
|
|
2.099 |
|
|
3 |
−30 |
|
|
−26.677 |
|
|
|
|
|
|||
XY := |
4 |
−10 |
VZ := |
34.817 |
|
|
|
5 |
10 |
|
|
68.003 |
|
|
6 |
30 |
|
|
−213.415 |
|
|
|
|
|
|||
|
7 |
50 |
|
|
89.995 |
|
|
8 |
70 |
|
|
|
|
|
|
|
396.232 |
|||
Параметри loess. Функція loess використовує також три
параметри – loess ( XY,VZ,span ) :
1.Масив даних XY, як і в регресії.
2.Масив даних VZ, як і в регресії.
3.діапазон, чиє значення повинне завжди бути більше, ніж нуль. Діапазон задає величину околу, в межах якого буде розраховуватись локальна регресія: span := 1 .
18
Щоб знайти “лесс” потрібно викликати функцію loess:
|
3 |
|
|
|
3 |
|
|
|
|
|
|
|
2 |
|
|
|
0.551 |
|
|
|
|
|
|
rs = |
−3 |
|
|
|
|||
|
8.707× 10 |
|
|
|
0.122 |
|
|
|
−0.076 |
|
|
|
−0.337 |
|
|
|
|
|
|
|
−1.489 |
|
|
ls := loess ( XY,VZ,span )
|
|
0 |
|
0 |
1 |
|
1 |
140 |
|
2 |
-8.234 |
|
3 |
3.168 |
|
4 |
12.042 |
|
5 |
12.9 |
|
6 |
-11.143 |
ls = |
7 |
-28.809 |
|
8 |
0.551 |
|
9 |
119.175 |
|
10 |
323.262 |
|
11 |
8.234 |
|
12 |
-2.394 |
|
13 |
-9.943 |
|
14 |
-39.577 |
|
15 |
45.96 |
|
|
|
2.2.2Результати функцій regress і loess
Із наведених вище прикладів, бачимо, що rs і ls є “проміжні" вектори, згенеровані функціями regress і loess, відповідно, для можливості їх використання функцією interp.
Дана функція interp використовується, для інтерпретування цих значень і присвоєння їх до відповідних коефіцієнтів.
Функція interp повертає інтерпольовані z-значення на поверхні з координатами x- і y-.
Параметри interp. Функція interp має 4 параметри:
interp(rs , XY,VZ,v) або interp(ls, XY,VZ,v)
1.rs або ls, вихідні вектори від regress або loess, відповідно.
2.вектор даних XY .
3.вектор даних VZ .
4.v є вектор, елементи якого є значеннями (в цьому випадку- x
іy), для яких потрібно визначити інтерпольоване значення z. Можна також визначити:
19
• |
функцію, F(x, y), |
|
|
|
|
|
|
|
x |
|
|
|
|||
interp x і y: |
F(x,y) := interp rs |
, XY,VZ, |
|
y |
|
|
|
||||||||
• |
знайти одне |
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
специфічне значення: |
interp rs , XY,VZ, |
|
3 = −2.958 |
|
|
|
|
|
|||||||
|
|
|
|
||||||||||||
|
|
|
|
||||||||||||
|
|
|
0.5 |
1.5 |
|
2.5 |
3.5 |
|
4.5 |
5.5 |
6.5 |
7.5 |
7.9 |
||
|
|
AT := |
−80 |
−60 |
−40 |
−20 |
0 |
20 |
40 |
60 |
|
||||
• |
визначити |
|
64 |
||||||||||||
i := 0..cols(AT) − 1 |
|
|
|
|
|
|
|
|
|
||||||
матрицю значень |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
AT0,i |
|
|
|
||||||
|
|
Surfi := |
|
|
|
|
|
|
|||||||
|
|
interp rs , XY,VZ, |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
AT1,i |
|
|
|
||||
Для найкращих результатів, значення x і y повинні бути всередині області, визначеної xy-даними.
2.2.3Прогляд результатів interp
Виведення результатів interp залежить від попередніх результатів функцій regress
(або loess):
•в матричному виразі
|
23.285 |
|
|
|
|
|
|
|
−29.506 |
|
|
|
−56.276 |
|
|
|
−57.026 |
|
|
|
|
|
|
Surf = |
−31.755 |
|
|
|
|||
|
|||
|
19.536 |
|
|
|
96.848 |
|
|
|
|
|
|
|
200.18 |
|
|
|
|
|
|
|
226.306 |
|
|
• в графічному вигляді |
|
(спочатку слід створити |
|
матрицю точок даних від |
|
матриць AT і Surf, |
|
використовучи вбудовану |
|
функцію augment : |
|
RegSURF := augment(ATT ,Surf). |
|
Для побудови графіка, по |
|
значеннях x і y відкладаються |
|
відповідні значення z, знайдені |
|
за допомогою функції interp. |
RegSURF |
20
