um + (realValue) ^ 2 ;
% норма по Гауса = error/(sqrt (sum));
Висновок:
Помилка по Гауса
? = 11.3060
Норма по Гауса
? = 0.2444
Створення фітнес функції на основі fuzzy logic toolbox:
%
% Функція для генетичного алгоритму
% її параметри - коефіцієнт концентрації та координата максимуму функції
% повертається значення - помилка по Гауса
%
function error = fitnes (pop)
% створюємо новий фис файл = newfis ('kurs');
% задаємо вхідні змінні
a = addvar (a, 'input', 'x1', [-2 2]);
% задаємо функції належності вхідних змінних
a = addmf (a, 'input', 1, 'g1', 'gaussmf', [pop (1,1) pop (1,2)]);
a = addmf (a, 'input', 1, 'g2', 'gaussmf', [pop (1,3) pop (1,4)]); = addmf (a, ' input ', 1,' g3 ',' gaussmf ', [pop (1,5) pop (1,6)]); = addmf (a,' input ', 1,' g4 ',' gaussmf ', [pop (1,7) pop (1,8)]); = addmf (a, 'input', 1, 'g5', 'gaussmf', [pop (1,9) pop (1,10)]);
% задаємо вхідні змінні
a = addvar (a, 'input', 'x2', [-2 2]);
% задаємо функції належності вхідних змінних
a = addmf (a, 'input', 2, 'g1', 'gaussmf', [pop (1,11) pop (1,12)]);
a = addmf (a, 'input', 2, 'g2', 'gaussmf', [pop (1,13) pop (1,14)]); = addmf (a, ' input ', 2,' g3 ',' gaussmf ', [pop (1,15) pop (1,16)]); = addmf (a,' input ', 2,' g4 ',' gaussmf ', [pop (1,17) pop (1,18)]); = addmf (a, 'input', 2, 'g5', 'gaussmf', [pop (1,19) pop (1,20)]);
% задаємо вихідних змінних = addvar (a, 'output', 'y', [-8 24]);
% задаємо функції належності вихідної змінної = addmf (a, 'output', 1, 'g1', 'gaussmf', [pop (1,21) pop (1,22)]);
a = addmf (a, 'output', 1, 'g2', 'gaussmf', [pop (1,23) pop (1,24)]); = addmf (a, ' output ', 1,' g3 ',' gaussmf ', [pop (1,25) pop (1,26)]); = addmf (a,' output ', 1,' g4 ',' gaussmf ', [pop (1,27) pop (1,28)]); = addmf (a, 'output', 1, 'g5', ...