Page 39 - 363_
P. 39
40
1.0000 1.1000 1.6000 1.7000 1.8000 2.2000
>> disp(cumprod(v))
1.0000 0.1000 0.0500 0.0050 0.0005 0.0002
>> disp(diff(y))
-0.9000 0.4000 -0.4000 0 0.3000
Інтегрування методом трапецій здійснює процедура trapz. Звернення до
неї вигляду trapz(x,y) приводить до обчислення площі під графіком функції
y(x), у якому усі точки, задані векторами x і у, з'єднані відрізками прямих. Якщо
у зверненні перший вектор x не вказаний, тоді за замовчуванням
припускається, що крок інтегрування є сталим і дорівнює одиниці (тобто
вектор x є вектором з номерів елементів вектора у).
Приклад. Обчислимо інтеграл від функції у = sin(x) у діапазоні від 0 до
. Його точне значення дорівнює 2. Візьмемо рівномірну сітку зі 100
елементів. Тоді обчислення зведеться до сукупності операцій:
>> x = 0 : pi/100: pi;
>> y = sin(x);
>> disp(trapz(x,y))
1.998
4.5 Апроксимація і інтерполяція даних
Система MatLAB надає зручні процедури для апроксимування та
інтерполювання даних вимірювань. Поліноміальне апроксимування даних
вимірювань, які сформовані як деякий вектор Y, при деяких значеннях
аргументу, котрі утворюють вектор X тієї ж довжини, що й вектор 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];
>> у = [-1.1 0.2 0.5 0.8 0.7 0.6 0.4 0.1];
>> polyfit(x, y, 1)
ans =
0.1143 -0.2393
>> polyfit(x, y, 2)
ans =