Оцените нечеткую функцию принадлежности
y = evalmf(mf,x)
Оцените обобщенную колоколообразную функцию принадлежности через область значений входных значений от 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")
mf
— Функция принадлежностиfismf
| вектор объектов fismf
Функция принадлежности, заданная как объект fismf
или вектор объектов fismf
.
x
Входное значениеВходное значение, заданное как скаляр, вектор или 2D матрица. Если mf
является a:
Один объект fismf
, затем можно задать x
как скаляр, вектор или матрицу
Вектор объектов fismf
, затем можно задать x
как скаляр или вектор
y
Выведите значение членстваВыведите значение членства, возвращенное как скаляр, вектор или 2D матрица. Если mf
является a:
Один объект fismf
, затем y
является скаляром, вектором или матрицей с теми же размерностями как x
. Каждый элемент y
является оцененным значением членства для соответствующего элемента x
.
Вектор объектов fismf
, затем y
является M-by-N матрица, где M и N являются длинами mf
и x
, соответственно. y
(i, j) является оцененным значением функции принадлежности mf
(i) для входного значения x
(j).
Поведение изменяется в 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.