ма p (x) ступеня n, який апроксимує функцію y (x) в сенсі методу найменших квадратів. Виходом є рядок p довжини n +1, що містить коефіцієнти аппроксимирующего полінома.
Приклад:
Розглянемо апроксимацію функції помилки erf (x), яка є обмеженою зверху функцією, в той час як апроксимуючі поліноми необмежені, що призводить до помилок апроксимації.
=(0: 0.1: 2.5) ';=erf (x);
обчислимо коефіцієнти аппроксимирующего полінома ступеня 6:
p=polyfit (x, y,
) p=0.0084 - 0.0983 0.4217 - 0.7435 0.1471 1.1064 0.0004
обчислимо значення полінома в точках сітки: f=polyval (p, x);
сформуємо наступну таблицю даних: table=[xyf yf] table=
0 0 0.0004 - 0.0004 0.1000 0.1125 0.1119 0.0006 0.2000 0.2227 0.2223 0.0004 0.3000 0.3286 0.3287 - 0.0001 0.4000 0.4284 0.4288 - 0.0004. . . . 2.1000 0.9970 0.9969 0.0001 2.2000 0.9981 0.9982 - 0.0001 2.3000 0.9989 0.9991 - 0.0003 2.4000 0.9993 0.9995 - 0.0002 2.5000 0.9996 0.9994 0.0002
З таблиці видно, що на відрізку [0 2.5] точність апроксимації знаходиться в межах 3-4 знаків; побудуємо графіки функції і аппроксимирующего полінома на відрізку [0 5].
x=(0: 0.1: 5) «;=erf (x);=polyval (p, x); (x, y,» ob «, x, f,»-g ')," axis ([0 5 0 2]) [4]
Рисунок 3 - Графічна апроксимація в MatLab
Реалізація інтерполяції в MatLab
Синтаксис: yi=interp1 (x, y, xi) yi=interp1 (x, y, xi, <метод>)
Опис:
Функція yi=interp1 (x, y, xi) будує інтерполюються криву для одновимірного масиву y, заданого на сітці x; вихідний масив yi може бути визначений на більш дрібній сітці xi. Якщо Y - двовимірний масив, то інтерполююча крива будується для кожного стовпчика. За замовчуванням реалізована лінійна інтерполяція.
Функція yi=interp1 (x, y, xi, <метод>) дозволяє задати метод інтерполяції:
linear лінійна cubic кубічна spline кубічні сплайни
Прийнято, що аргумент x змінюється монотонно; крім того, для кубічної інтерполяції передбачається, що сітка по x рівномірна.
Приклад:
Задамо синусоїду всього 10 точками і проведемо інтерполяцію, використовуючи дрібну сітку.
x=0: 10; y=sin (x);=0: .25: 10;=interp1 (x, y, xi);
plot (x, y, «o», xi, yi, g), hold on yi=interp1 (x, y, xi, spline); (x, y, «ob» , xi, yi, m), grid, hold off [5]
Малюнок 4 - Графічна інтерполяція в MatLab
2. Алгоритмічний аналіз завдання
2.1 Повна постановка задачі
Застосування системи Mathcad і Matlab для дослідження математичної моделі електричної, що включає в себе джерело ЕРС, опору R, ємність С і котушку індуктивності L.
Повна постановка завдання:
. З іспользваніем системи Mathcad
1.1 Розрахувати значення функцій напруги на конденсаторі в ланцюзі другого поряд...