Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
20.02.2016
Размер:
77.31 Кб
Скачать

Програма APR

Апроксимація експериментальних даних поліномами

  1. Мета розрахунків

Програма виконує математичну обробку експериментальних даних, заданих в формі таблиці, що складається з двох колонок – значень незалежної змінної (аргумента) “х” і відповідних значень залежної змінної (функції) “y”. Такі таблиці одержують, вимірюючи деяку залежність y=f(x) між окремими факторами “х” та “y” технічної системи (рис.1).

Кінцевим результатом математичної обробки є математична формула (функція) y=f(x), яка найкраще описує задану емпіричну (виміряну) залежність.

В практиці технічної електрохімії, наприклад, часто вимірюють поляризаційні характеристики електродних процесів, =f(i), або залежність виходу за струмом деякої реакції від концентрації реагента ВС=f(С), чи від густини струму, ВС=f(i). Як правило, такі залежності неможливо визначити з теоретичних міркувань, але їх в конкретних технічних об’єктах можна точно виміряти.

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

Програма APR і призначена для того, щоб знайти таку математичну функцію y=f(x), яка найкраще відповідає експериментальним даним. Для багатьох залежностей, які зустрічаються в технічній електрохімії, їх геометричні форми порівняно прості, тому їх досить точно можна описувати універсальним виразом алгебраїчного полінома

, (1)

з відповідними коефіцієнтами а0, а1, … аМ. Завдання алгоритму якраз і зводиться до того, щоб визначити ці коефіцієнти.

Алгоритм. Якщо кількість N пар чисел “x”-“y” (кількість точок на графіку y=f(x)) дорівнює кількості M+1 невідомих коефіцієнтів а0…аМ, можна будь-яким способом вирішити систему М+1 алгебраїчних рівнянь (1) відносно невідомих коефіцієнтів і одержати значення коефіцієнтів такі, що підрахований за виразом (1) графік y=f(x) точно пройде через всі точки. Насправді це рішення буде неточним, бо числові значення параметрів “x” та “y” в окремих точках завжди вимірюються з деякою помилкою, і функція y=f(x) автоматично буде враховувати всі ці помилки як закономірність поведінки об’єкта.

В алгоритмі нелінійного програмування, який використано в програміAPR, приймається, що кількість експериментальних точок N на графіку y=f(x) перевищує кількість M+1 невідомих коефіцієнтів а0…аМ. Тоді алгоритмами нелінійного програмування (оптимізації) підбираються такі значення коефіцієнтів а0…аМ , щоб сума квадратів відхилень між розрахованими і експериментальним значеннями “у” в усіх N експериментальних точках була найменшою:

. (2)

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

Фактично метод МНК усереднює експериментальні результати і є методом статистичної обробки даних. Тому в цьому методі крім самих значень коефіцієнтів підраховують також статистичні характеристики вказаної залежності – дисперсію

(3)

і середньоквадратичне відхилення

, (4)

тобто середнє відхилення між експериментальними (виміряними) і розрахованими значеннями параметра “у” для всіх N точок.

3. Форма вхідних даних

Вхідні дані вводять в файл APR.DAT, який має таку форму:

____N____M______XMAX______YMAX____ind

8 4 1 1 2

________________________ ___________

0.00001 0.00001

0.1 0.019

0.2 0.030

0.3 0.122

0.5 0.257

0.7 0.452

0.8 0.537

0.9 0.855

N

Кількість заданих пар чисел (ряд експериментальних даних).

M (MN)

Кількість невідомих коефіцієнтів полінома (1).Ступінь полінома (1), або максимальне значення показника ступеню в останньому доданку, дорівнює числу М+1. Число М повинно бути меншим за число N, інакше рішення буде неправильним.

XMAXYMAX

«Круглі» значення змінних «х» та «у», більші за максимальні значення в колонках таблиці. Вони визначають масштаб графіка (значення «х» та «у» на кінцях відповідної шкали).

ind

Числовий індекс (ціле число). Може приймати значення «0» або « довільне ціле число, не нуль». Якщо значення ind=0, тоді на екран не виводиться графік. Це буває корисним тоді, коли з”являється незрозуміла похибка при виводі графіка на екран (програма зациклюється, на екрані- суцільний жовтий колір). Виключення графічних процедур дозволяє одержати рішення лише в числах і знайти причини похибки.

4. Форма вихідних даних

Результати роботи програми виводяться в двох формах – як числові дані в файлі “REZ.REZ”, і в формі графіка апроксимаційного полінома.

В файлі результатів rez.rez виводиться рядок з заданими значеннями N,M, і далі – значення коефіцієнтів полінома, позначених як k0, k1, k2, ….kM-1

при подальшому практичному використанні коефіцієнтів полінома обмежуватись можна першими трьома значущими цифрами.

Наступна група даних – три колонки чисел X_Yexper_Yappr. Числа в перших двох колонках повторяють таблицю вхідних даних, а третя колонка Yappr– відповідні значення “у”, розраховані за апроксимаційним поліномом.

В кінці файла наведенно значення дисперсії 2.

Approximation: N= 8 M=4

Y = k0 + k1*X + k2*X**2 + ...

k0= -0.013863

k1= 0.228773

k2= 0.440948

k3= 0.440948

________X_____Yexper_____Yappr

0.1000 0.0190 0.0137

0.2000 0.0300 0.0518

0.3000 0.1220 0.1023

0.5000 0.2570 0.2470

0.7000 0.4520 0.4618

0.8000 0.5370 0.5998

0.9000 0.8550 0.7606

1.0000 0.9110 0.9459

dispersion =0.002527

Графічна інформація на екрані містить такі елементи:

- графік y=f(x) , побудований розрахунком з рівняння (1), середня лінія. ;

  • експериментальні точки (вхідні дані), позначені хрестиками;

  • дві суцільні лінії (зверху і знизу від середньої) обмежують “коридор похибок” – область, всередині якої значення відповідної функції відхиляються від середньої лінії на величину середньоквадратичного відхилення  , з 95% вірогідністю за критерієм Стьюдента.

  • Характеристики полінома: кількість експериментальних точок “,” кількість коефіцієнтів “koef” (ступінь полінома на одиницю менша), середньоквадратичне відхилення “Sigma” і дисперсія “ disp”.

а б

в г

Рис.1. Функція y=f(x), апроксимована за даними наведеної вище таблиці Apr.dat.. Апроксимація виконана поліномами різних ступенів (а-в). Хрестики- експериментальні дані, середня лінія – розрахуно к за виразом (1) з вказаними на рисунках значеннями коефіцієнтів. Верхня і нижня лінії обмежують “коридор похибок” – область, всередині якої значення “у” відхиляються від середньої лінії на величину середньоквадратичного відхиленнфя  .

  1. Примітки та зауваження

    1. Якщо графік починається з нульових значень, замість нулів в першому рядку чисел «х» та «у» потрібно вводити малі (близькі до нуля) числа, порядку 10-9.

    2. Як можна бачити, порівнюючи наведені графіки, якість апроксимації залежить від вибору значень N та М. Великі значення коефіцієнта М (ступінь полінома) не означають підвищеної точності апроксимації. На рис. 1в,г графіки функції мають складнішу форму і повторюють складну форму розташування експериментальних точок, тоді як найчастіше ця форма є результат випадкової розбіжності даних.

5.3. При великих значеннях М і великій розбіжності даних форма розрахованої функції y=f(x) за межами експериментальних даних може бути явно неправильною, як на рисунку 1в в області після останньої точки . Тому потрібно звертати увагу на те, який вигляд має розрахована функція в таких областях. Можливо, доцільно змінити значення “М”.

Для точнішої апроксимації потрібна достатньо велика вибірка даних, N>>M. Апроксимацію доцільно повторити при різних значеннях ступеню полінома (М-1), і обрати найкращий варіант з мінімальним значенням “М”.

5.4. Інколи можна спостерігати на екрані занадто широкий коридор похибок. Це означає, що була використана мала кількість експериментальних точок N, і (або) існує велика розбіжність між даними. Для одержання задовільних результатів потрібно ввести додаткові експериментальні дані.

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

Якщо така ситуація виникла, потрібно або довести процедуру до кінця (2-3 рази повторюючи послідовність всіх операцій, аж до виходу на екран файла *.Dat), або перезавантажити операційну систему (комбінація клавіш Ctrl+Alt+Del).

Соседние файлы в папке Материалы по электра