Использование нечеткой логики в инженерной деятельности
пользуется при построении правил с помощью команды addrule . Каждая переменная входа, каждая переменная выхода, каждая функция членства нумеруется, поэтому правила строятся в терминах этих номеров следую- щим образом: If input is MF1 or input2 is MF3, then output1 is MF2 (weight=0.5) Это правило превращается в структуру согласно следующей логике: если в системе имеется m входов и n выходов, то первые m элементов век- тора в структуре правила соответствуют входам с первого по m -ный. Элементом первого столбца является номер функции членства, связанной со входом 1. Элементом второго столбца является номер функции членства, связанной со входом 2 и т.д. Следующие n столбцов заполняются подобным же образом для выходов. Столбец m+n+1 заполняется весом соответствующего правила (обычно 1), а столбец m+n+2 определяет логическую связку (где AND=1, OR=2 ). Структура, соответствующая приведенно- му выше правилу, будет выглядеть так: 1 3 2 0.5 2 Далее приведена программа, демонстрирующая один из возможных способов построения системы чаевых из командной строки с использова- нием синтаксиса MATLAB. a=newfis( tipper ); a.input(1).name= service ; a.input(1).range=[0 10]; a.input(1).mf(1).name= poor ; a.input(1).mf(1).type= gaussmf ; a.input(1).mf(1).params=[1.5 0]; a.input(1).mf(2).name= good ; a.input(1).mf(2).type= gaussmf ;
Made with FlippingBook
RkJQdWJsaXNoZXIy MTY0OTYy