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 =
   34   35   36   37   38   39   40   41   42   43   44