Тема: Інтерполяція та апроксимація даних

  • Вид работы:
    Практическое задание
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Украинский
  • Формат файла:
    MS Word
  • Размер файла:
    285,49 Кб
Інтерполяція та апроксимація даних
Інтерполяція та апроксимація даних
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Міністерство освіти і науки України

Національний університет Львівська політехніка

Кафедра АСУ










Лабораторна робота № 1

з курсу Компютерні системи цифрової обробки сигналів

Тема: Інтерполяція та апроксимація даних

Виконала:

ст.гр.ІУСм-11

Семенюк Уляна

Прийняв: Скорохода О.В.




Львів - 2015

Теоретичні відомості

Апроксимація даних:

Нехай величина y є функцією аргументу x. Це значить, що будь-якому значенню x з області визначення поставлено у відповідність значення y. Разом з тим на практиці часто невідомий дійсний звязок між y та x, тобто неможливо записати цей звязок у вигляді y=f(x). В деяких випадках навіть при невідомій залежності y=f(x) він настільки громіздкий(наприклад, містить важко обчислювані вирази, складні інтеграли і т.д.), що його використання у практичних розрахунках утруднено.

Найбільш розповсюдженим та практично важливим випадком, коли вигляд звязку між параметрами x та y невідомий, є задання цього звязку у вигляді деякої таблиці {xi yi}. Це значить, що дискретній множині значень аргументу {xi} відповідає множина значень функції {yi} (i=0,1…n). Ці значення - або результати розрахунків, або експериментальні дані. На практиці нам можуть знадобитися значення величини y також і в інших точках, що відрізняються від вузлів xi. Однак отримати ці значення можні лише шляхом дуже важких розрахунків або проведенням дорогих експериментів.

Таким чином, з точки зору економії часу та засобів ми приходимо до необхідності використання існуючих табличних даних для наближеного обчислення шуканого параметра y при будь-якому значенні(з деякої області), що визначає параметр x, оскільки точний звязок y=f(x) невідомий.

Цій меті і слугує задача про наближення (апроксимації) функцій: дану функцію f(x) необхідно наближено замінити(апроксимувати) деякою функцією g(x) так, щоб відхилення(в деякому сенсі) g(x) від f(x) в заданій області було мінімальним. Функція g(x) при цьому називається апроксимуючий.

Для практики суттєво важливий випадок апроксимації функції багаточленом:

g(x)=a0+a1x+a2x2+…+amxm (1.1)

При цьому коефіцієнти aj будуть підбиратися так, щоб досягти найменшого відхилення багаточлена від даної функції.

Точкова апроксимація:

Одним з основних типів точкової апроксимації є інтерполювання. Воно полягає у наступному: для даної функції y=f(x) будуємо багаточлен (1.1), що приймає в заданих точках xi ті самі значення yi, що і функція f(x), тобто g(xi)=yi, i=0,1,…n.

При цьому припускається, що серед значень xi немає однакових, тобто xi¹xk при цьому i¹k. Точки xi називаються вузлами інтерполяції, а багаточлен g(x) - інтерполяційним багаточленом.

Рис. 1.1

Таким чином, близькість інтерполяційного багаточлена до заданої функції полягає в тому, що їх значення співпадають на заданій схемі точок(рис.1.1, суцільна лінія).

Максимальний ступінь інтерполяційного багаточлена m=n; в цьому випадку говорять про глобальну інтерполяцію.

При великій кількості вузлів інтерполяції отримаємо високий ступінь багаточлена (1.1) у випадку глобальної інтерполяції, тобто коли необхідно мати один інтерполяційний багаточлен для всього проміжку виміру аргументу. Крім того, табличні дані могли бути отримані шляхом вимірів та містити похибки. Побудова апроксимовуваного багаточлена за умови обовязкового проходження його графіка через ці експериментальні точки значило б старанне повторення припущених при вимірах похибок. Вихід з цього положення може бути знайдено шляхом вибору такого багаточлена, графік якого проходить близько від даних точок(рис.1.1, пунктирна лінія).

Одним з таких видів є середньоквадратичне наближення функції за допомогою багаточлена (1.1). При цьому m £ n; випадок m = n відповідає інтерполяції. На практиці стараються підібрати апроксимуючий багаточлен якомога меншого ступеня(як правило, m=1, 2, 3).

Мірою відхилення багаточлена g(x) від заданої функції f(x) на множині точок (xi,yi) (i=0,1,…,n) при середньоквадратичному наближенні є величина S, що дорівнює сумі квадратів різниці між значеннями багаточлена і функції в даних точках:


Для побудови апроксимуючого багаточлена необхідно підібрати коефіцієнти a0, a1,…,am так, щоб величина S була найменшою. В цьому і полягає метод найменших квадратів.


Поліноміальна апроксимація даних вимірів, що сформовані як деякий вектор Y, при деяких значеннях аргументу, які утворюють вектор Х такої ж довжини, що й вектор Y, здійснюється процедурою polyfit(X, Y, n). Тут n - порядок апроксимуючого полінома. Результатом дії цієї процедури є вектор довжиною (n +1) із коефіцієнтів апроксимуючого полінома.

Нехай масив значень аргументу є таким: x = [1 2 3 4 5 6 7 8],

а масив відповідних значень виміряної величини - таким:= [ -1. 1 0.2 0.5 0.8 0.7 0.6 0.4 0.1].

Тоді, застосовуючи зазначену функцію при різних значеннях порядку апроксимуючого полінома, одержимо:

» x = [1 2 3 4 5 6 7 8];

» y = [ -1.1 0.2 0.5 0.8 0.7 0.6 0.4 0.1];

» polyfit(x,y,1)= 0. 1143 -0. 2393

» polyfit(x,y,3)= 0. 0177 -0. 3410 1. 9461 -2. 6500

» polyfit(x,y,4)= -0. 0044 0. 0961 -0. 8146 3. 0326 -3. 3893.

Це означає, що задану залежність можна апроксимувати або прямою

y(x) = 0,1143x − 0,2393,

або квадратною параболою

y(x) = −0,1024x2 + 1,0357x− 1,775,

або кубічною параболою

y(x)=0,0177x3−0,341x2+ 1,9461x− 2,65,

або параболою четвертого степеня

(x) = −0,0044x4+ 0,0961x3− 0,8146x2 + 3,0326x− 3,3893.

Індивідуальне завдання

. Стандартний синусоїдальний сигнал з частотою, що дорівнює порядковому номеру в групі, апроксимувати за допомогою:

а) Поліномів 1 і 2 степенів (кожний 1-ий);

. Виконати ті самі перетворення зі стандартним трикутним сигналом.

Синусоїдальний сигнал:

t = -1:0.01:1;

f = 15;

omega = 2 * pi * f;

y = sin(omega * t);(t, y, 'k-')= polyfit(omega * t, y, 1);= polyfit(omega * t, y, 3);

k5 = polyfit(omega * t, y, 5);

P1 = polyval(k1, omega * t);= polyval(k3, omega * t);= polyval(k5, omega * t);= polyval(k7, omega * t);on(t,P1, t,P3, t,P5, t,P7)

Рис. 1а. Апроксимація синусоїдального сигналу з частотою 15 Гц за допомогою поліномів 1, 3, 5, 7 степенів з кроком 0.05

Рис. 1б. Апроксимація синусоїдального сигналу з частотою 15 Гц за допомогою поліномів 1, 3, 5, 7 степенів з кроком 0.01

Стандартний трикутний сигнал. Виконаємо ці самі перетворення зі стандартним трикутним сигналом. Для цього у програмі замінимо функцію синусоїдального сигналу на функцію трикутного сигналу:

y = sawtooth(omega * t, 0.5);

Поліноміальна апроксимація прямокутного сигналу

Рис. 2. Апроксимація стандартного трикутного сигналу з частотою 15 Гц за допомогою поліномів 1, 3, 5, 7 степенів з кроком 0.01

апроксимація багаточлен сигнал поліном

Висновок: В цій лабораторній роботі я навчилася представляти синусоїдальний та трикутний сигнали за допомогою стандартних функцій. Виконала апроксимацію цих сигналів за допомогою поліномів 1, 3, 5, 7 степенів. Дослідила, що чим більший степінь полінома, тим точніше наближення заданої функції.

Похожие работы

 

Не нашел материал для курсовой или диплома?
Поможем написать качественную работу
Без плагиата!