justify">//double sMin1; iMin1, i;=0;
* sMin1=s [iMin1]; (i=1; i lt; n; i ++)
{(s [i] lt; * sMin1)
{
* sMin1=s [i];
iMin1=i;
}
} iMin1;
}
Функція, яка вважає похибка апроксимації при рівномірному розбитті, приведена в лістингу 11.
Лістинг 11. Функція, яка вважає похибка апроксимації при рівномірному розбитті
//функція вважає похибка апроксимації при рівномірному розбитті
//повертає значення погрешностіf_error3 (int N1, int N0, double sumX2, int * nC, double * yC, double * x)
{i, k; sum1, sReg;=0; (i=0; i lt; N1; i ++)
{(k=nC [i]; k lt; nC [i + 1]; k ++)
{= sum1 + pow (yC [i] - x [k], 2);
}
}=sqrt (sum1/sumX2);//погрешностьsReg;
}
Повний лістинг коду програми, що реалізує метод оптимальної класифікації, наведений у додатку 2.
. 3 Перевірка працездатності програми
Для перевірки працездатності були приведені наступні розрахунки.
Вихідні дані про значеннях елементів классифицируемого безлічі вводяться з файлу Test2.txt (малюнок 3.3).
Малюнок 3.3 - Файл з вихідними даними
У даному файлі знаходяться 10 вихідних елементів.
У вікні консольного застосування вводиться кількість класів, на яке необхідно розбити вихідне безліч елементів (вводиться число 5). Потім у вікні консольного застосування виводяться вихідні дані, введені з файлу, і їх кількість (малюнок 3.4).
Малюнок 3.4 - Введення кількості класів у вікні консольного застосування «Метод оптимальної класифікації одновимірного впорядкованої множини на основі« склеювання з найближчим »»
Після виконання розрахунків за класифікацією у вікні консольного застосування виводяться значення центрів тяжіння 5 класів - yOpt [i], i=0,1,2,3,4, похибка представлення вихідних даних у кожному класі при оптимальному розбитті - s [i], i=0,1,2,3,4, значення середньоквадратичного відхилення при оптимальній sOpt і рівномірної sReg класифікації (малюнок 3.5).
Малюнок 3.5 - Висновок результатів класифікації
Після завершення розрахунків у файл TestOut1.txt виводяться результати роботи програми.
Наведемо фрагменти файлу з результатами роботи даної програми.
У файл TestOut1.txt виводиться кількість елементів вихідного безлічі:=10
У файл TestOut1.txt виводиться кількість класів, на яке необхідно розбити вихідне безліч елементів:=5
У файл TestOut1.txt виводяться вихідні елементи:
У файл TestOut1.txt виводяться номери перших елементів класів при оптимальній класифікації:=
У файл TestOut1.txt виводяться значення центрів тяжіння класів при оптимальній класифікації: End: yOpt
. 66667
. 5
. 5
. 5
У файл TestOut1.txt виводяться значення похибок центрів тяжіння класів при оптимальній класифікації: End: s
. 11111
. 5
. 5
. 5
У файл TestOut1.txt виводяться номери перших елементів класів при рівномірній класифікації:=
У файл TestOut1.txt виводяться значення центрів тяжіння класів при рівномірній класифікації:
. 9
. 7
. 5
. 3
. 1
У файл TestOut1.txt виводяться значення похибок центрів тяжіння класів при рівномірній класифікації:
. 03333
. 8
. 833333
. 3
. 9
У файл TestOut1.txt виводяться Значення середньоквадратичного відхилення при оптимальній і рівномірної класифікації.=0.0758098=0.116887
Значення похибок sOpt і sReg показують перевагу в точності апроксимації вихідних даних при застосуванні методу оптимальної класифікації.
. 4 Оцінювання ефе...