FuzzyMSLarge
Краткая информация
Задает нечеткое множество с помощью функции, основанной на среднем значении и стандартном отклонении, причем чем большее значение имеет элемент множества, тем ближе его принадлежность к 1.
Обсуждение
Инструмент, использующий объект FuzzyMSLarge: Нечеткое множество (Fuzzy Membership).
Есть два уравнения для функции MS Large, в зависимости от значения произведения a * m.
Если x > a * m:
\(u(x) \space = \space 1 \space - \space (b \space * \space s) \space / \space (x \space - \space (a \space * \space m) \space + \space (b \space * \space s))\)
, где:
m = среднее
s = стандартное отклонение
a = множитель среднего
b = множитель стандартного отклонения
Данные a and b множители являются входными параметрами.
Если x <= a * m:
\(u(x) \space = \space 0\)
Функция MSLarge полезна, когда большие входные значения имеют более высокие значения принадлежности.
Входные значения могут быть положительными целочисленными значениями или положительными значениями с плавающей точкой.
Результат может быть похож на функцию нечеткого множества Large, в зависимости от варианта определения множителей среднего и стандартного отклонения.
Синтаксис
FuzzyMSLarge(meanMultiplier, STDMultiplier)
| Имя | Объяснение | Тип данных |
|---|---|---|
|
meanMultiplier |
Множитель для среднего значения входных значений в уравнении функции MSLarge. (Значение по умолчанию — 1) |
Double |
|
STDMultiplier |
Множитель для стандартного отклонения входных значений в уравнении функции MSLarge. (Значение по умолчанию — 1) |
Double |
Свойства
| Имя | Объяснение | Тип данных |
|---|---|---|
|
meanMultiplier (Чтение / Запись) |
Множитель для среднего значения входных значений в уравнении функции принадлежности. |
Double |
|
STDMultiplier (Чтение / Запись) |
Множитель для стандартного отклонения входных значений в уравнении функции принадлежности. |
Double |
Пример кода
Иллюстрирует создание класса FuzzyMSLarge и его применение в инструменте FuzzyMembership в окне Python.
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("as_std", FuzzyMSLarge(1, 1.8))
outFzyMember.save("c:/sapyexamples/fzymslrg")
Выполняет FuzzyMembership с использованием класса FuzzyMSLarge.
# Name: FuzzyMSLarge_Ex_02.py
# Description: Scales input raster data into values ranging from zero to one
# indicating the strength of a membership in a set.
# Requirements: Spatial Analyst extension
# Import system modules
import arcpy
from arcpy import env
from arcpy.sa import *
# Set environment settings
env.workspace = "C:/sapyexamples/data"
# Set local variables
inRaster = "as_std"
# Create the FuzzyMSLarge algorithm object
meanMultiply = 1.5
stdMultiply = 2.2
myFuzzyAlgorithm = FuzzyMSLarge(meanMultiply, stdMultiply)
# Run FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)
# Save the output
outFuzzyMember.save("c:/sapyexamples/fzymslrg2")