Оцените функцию нечеткого членства
Оцените обобщенную функцию принадлежности в форме колокола через область значений входа значений от 0 через 10.
x = 0:0.1:10;
mf = fismf("gbellmf",[2 4 6]);
y = evalmf(mf,x);Постройте график оценки.
plot(x,y)
xlabel('gbellmf, P = [2 4 6]')
Создайте вектор из трех Гауссовых функций принадлежности.
mf = [fismf("gaussmf",[0.9 2.5],'Name',"low"); fismf("gaussmf",[0.9 5],'Name',"medium"); fismf("gaussmf",[0.9 7.55],'Name',"high")];
Укажите вход области значений, над которой можно оценить функции членства.
x = (-2:0.1:12)';
Оцените функции членства.
y = evalmf(mf,x);
Постройте график результатов оценки.
plot(x,y) xlabel('Input (x)') ylabel('Membership value (y)') legend("low","medium","high")

Создайте треугольную функцию принадлежности типа 2.
mf = fismftype2("trimf",[5 7 9],'LowerLag',0.3,'LowerScale',0.8);
Оцените функцию принадлежности через область значений входа значений от 0 через 10.
x = 0:0.1:10; [yUpper,yLower] = evalmf(mf,x);
Постройте графики рассчитанных верхнего и нижнего МФ.
plot(x,yUpper,x,yLower) legend('Upper MF','Lower MF','Location','northwest') xlabel('Input') ylabel('Membership value')

mfT1 - Type-1 функции членстваfismf | вектор объекта fismf объектыType-1 принадлежности, заданная как fismf объект или вектор таких объектов.
x - Входное значениеВходное значение, заданное как скаляр, вектор или 2-D матрица. Если mf является:
Одинок fismf объект, затем можно задать x как скаляр, вектор или матрица
Вектор of fismf объекты, затем можно задать x как скаляр или вектор
mfT2 - Type-2 функции членстваfismftype2 объект | массив из fismftype2 объектыType-2 принадлежности, заданная как fismftype2 объект или вектор таких объектов.
y - Значения принадлежности для функции принадлежности типа 1Значение принадлежности для функции принадлежности типа 1, возвращаемое в виде скаляра, вектора или 2-D матрицы. Если mfT1 является:
Одинок fismf объект, затем y является скаляром, вектором или матрицей с такими же размерностями, как x. Каждый элемент y - оцененное значение членства для соответствующего элемента x.
Вектор of fismf объекты, затем y является M -by - N матрицей, где M и N являются длинами mfT1 и x, соответственно. y(i, j) - оцененное значение функции принадлежности mfT1(i) для входного значения x(<reservedrangesplaceholder0>).
yUpper - Верхние значения членства в MF для функции членства типа 2Верхнее значение принадлежности MF для функции принадлежности типа 2, возвращаемое в виде скаляра, вектора или 2-D матрицы. Если mfT2 является:
Одинок fismftype2 объект, затем y является скаляром, вектором или матрицей с такими же размерностями, как x. Каждый элемент y - оцененное значение членства для соответствующего элемента x.
Вектор of fismftype2 объекты, затем y является M -by - N матрицей, где M и N являются длинами mfT2 и x, соответственно. y(i, j) - оцененное значение функции принадлежности mfT2(i) для входного значения x(<reservedrangesplaceholder0>).
yLower - более низкие значения членства в MF для функции принадлежности типа 2Более низкое значение принадлежности MF для функции принадлежности типа 2, возвращаемое в виде скаляра, вектора или 2-D матрицы. Если mfT2 является:
Одинок fismftype2 объект, затем y является скаляром, вектором или матрицей с такими же размерностями, как x. Каждый элемент y - оцененное значение членства для соответствующего элемента x.
Вектор of fismftype2 объекты, затем y является M -by - N матрицей, где M и N являются длинами mfT2 и x, соответственно. y(i, j) - оцененное значение функции принадлежности mfT2(i) для входного значения x(<reservedrangesplaceholder0>).
evalmf теперь принимает fismf объект как входной параметрПоведение изменено в R2018b
evalmf теперь принимает fismf объект как входной параметр, а не тип и параметры функции принадлежности. Кроме того, теперь можно оценить несколько функций членства, передав массив из fismf объекты, evalmf. Существуют различия между этими подходами, которые требуют обновления вашего кода.
Ранее вы оценивали функцию принадлежности для заданных входных значений, x, путем определения типа функции членства, type, и параметры функций членства, params.
y = evalmf(x,params,type);
Обновите код, чтобы сначала создать fismf объект, mf. Затем передайте этот объект evalmf.
mf = fismf(type,params); y = evalmf(mf,x);
Кроме того, ранее для оценки нескольких функций членства вы вызывали evalmf один раз для каждой функции членства.
y1 = evalmf(x,params1,type1); y2 = evalmf(x,params2,type2); y3 = evalmf(x,params3,type3);
Теперь можно оценить несколько функций членства, передав массив из fismf объекты, evalmf.
mf1 = fismf(type1,params1); mf2 = fismf(type2,params2); mf2 = fismf(type3,params3); y = evalmf([mf1 mf2 mf3],x);
Здесь, y = [y1 y2 y3]';
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.