Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LabМЗКИТ-Мах-Ukr09.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
216.06 Кб
Скачать

Контрольнi запитання

1. Що представляє із себе апроксимація й інтерполяція експериментальних даних?

2. Як можна отримати апроксимуючу функцію у виді полінома довільної складності у системі Maxima?

3. Які існують способи завдання одномірних і багатомірних масивів даних у системі Maxima?

4. Як можна одержати функцію, що інтерполює, у виді полінома?

5. Як можна одержати функцію, що інтерполює, у випадку багатомірних масивів даних?

Методика виконання роботи

  1. Завантажити систему Maxima і створити локумент.

  2. Визначити апроксимуючу функцію заданого виду для масиву даних за завданням викладача.

  3. Визначити функцію, що інтерполює заданого виду для масиву даних за завданням викладача.

  4. Побудувати графіки отриманих апроксимуючий і интерполирующей функцій.

  5. Визначити значення отриманих апроксимуючий і интерполирующей функцій у заданих точках за завданням викладача.

Додадок 4.1.

Часто вихідні дані для рішення математичних задач представлені набором чисельних значень в окремих точках. Для визначення функціональної залежності, що описує заданий масив даних і вид якої в загальному випадку невідомий, використовують метод апроксимації. У цьому випадку істинна функція заміняється апроксимуючою функцією, яка у сенсі деякого критерію оптимальності дає найкраще наближення до істинної функції. Найбільше широко використовується метод найменших квадратів (МНК), у якому як критерій оптимальності пригонки апроксимуючої функції використовують наступну умову:

2 =(Fексп - Fапр)2  min; (1)

де Fексп – експеріментальне значення; Fапр- значення апроксимуючої функції в тій же точці;

Умову того, щоб у кожній точці погрішність пригонки дорівнювала 0, тобто

 = 0, називають умовою інтерполяції, а функцію, що забезпечує виконання цієї умови - інтерполяційною функцією.

У багатьох випадках чисельних обчислень буває зручно використовувати апроксимуючі функції, які можна представити як узагальнення деякої кількості чисельних даних. Maxima вміщає убудовані функції для апроксимації на основі МНК. Для одержання функції, що інтерполює, служать наступні функції Maxima, які знаходяться у пакеті розширення interpol :

Функція lagrange (points)

lagrange (points, option)

Виконує поліноміальну інтерполяцію даних методом Лагранжа. Аргумент points повинен бути заданий як:

• матриця з двох стовбців, p:matrix([2,4],[5,6],[9,3]),

• лист пар значеннь, p: [[2,4],[5,6],[9,3]],

• лист значеннь, p: [4,6,3], в цьому випадку в якості другого значення автоматично використуються цілі числа 1, 2, 3, і т.д..

За допомогою аргумента option можливо задати ім’я для незалежної змінної (за замовчуванням x) таким чином - varname=’z.

Приклад:

(%i1) load(interpol)$

(%i2) p:[[7,2],[8,2],[1,5],[3,2],[6,7]]$

(%i3) f(x):=lagrange(p);

4 3 2

73 x 701 x 8957 x 5288 x 186

(%o3) f(x):= ----- - ------ + ------- - ------ + ---

420 210 420 105 5

Можливе одержання декількох поліномів, що інтерполюють, для різних діапазонів значень незалежної перемінної. Для організації виведення цих поліномів використовують функцію charfun2 (x, a, b), що повертає true, якщо значення x знаходиться в інтервалі (a, b), і false, якщо значення х знаходиться поза інтервалом.

Функція linearinterpol (points)

linearinterpol (points, option)

Виконує поліноміальну інтерполяцію лінейним методом. Аргумент points повинен бути заданий як:

• матриця з двох стовбців, p:matrix([2,4],[5,6],[9,3]),

• лист пар значеннь, p: [[2,4],[5,6],[9,3]],

• лист значеннь, p: [4,6,3], в цьому випадку в якості другого значення автоматично використуються цілі числа 1, 2, 3, і т.д..

За допомогою аргумента option можливо задати ім’я для незалежної змінної (за замовчуванням x) таким чином - varname=’z.

Приклад:

(%i1) load(interpol)$

(%i2) p: matrix([7,2],[8,3],[1,5],[3,2],[6,7])$

(%i3) f(x):= linearinterpol(p);

13 3x

(%o3) f(x):= (--- - ---) charfun2(x, minf, 3) + (x - 5) charfun2(x, 7, inf) +

2 2

5x

+ (37 - 5 x) charfun2(x, 6, 7) + (--- - 3) charfun2(x, 3, 6)

3

ЛАБОРАТОРНА РОБОТА № 5

СПЛАЙН - АПРОКСИМАЦІЯ МАСИВІВ ДАНИХ У СИСТЕМІ MAXIMA

Мета роботи – вивчення правил проведення сплайн-апроксимації для опису чисельних масивів даних різної розмірності у середовищі Maxima.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]