FuzzyMSSmall
汇总
通过一个基于平均值和标准差的函数,以隶属度更接近于 1 的较小值定义模糊隶属度。
讨论
使用 FuzzyMSSmall 对象的工具: 模糊隶属度 。
根据 a * m 的乘积,MS 较小值函数有两个方程。
如果 x > a * m :
\(u(x) \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 和 b 乘法器是输入参数。
如果 x <= a * m :
\(u(x) \space = \space 0\)
当较小的输入值具有较高的隶属度时,MSSmall 函数十分有用。
输入值可以为整型值或浮点型正值。
结果可能与较小值模糊隶属度函数类似,具体取决于平均值和标准差的乘法器定义方式。
语法
FuzzyMSSmall(meanMultiplier, STDMultiplier)
| 名称 | 说明 | 数据类型 |
|---|---|---|
|
meanMultiplier |
MS 大值函数方程中输入值的平均值的乘数。 (默认值为 1) |
Double |
|
STDMultiplier |
MS 大值函数方程中输入值的标准差的乘数。 (默认值为 1) |
Double |
属性
| 名称 | 说明 | 数据类型 |
|---|---|---|
|
meanMultiplier (读取和写入) |
隶属度函数方程中输入值的平均值的乘数。 |
Double |
|
STDMultiplier (读取和写入) |
隶属度函数方程中输入值的标准差的乘数。 |
Double |
代码示例
演示如何在 Python 窗口下创建 FuzzyMSSmall 类,并通过 FuzzyMembership 工具使用该类。
import arcpy
from arcpy.sa import *
from arcpy import env
env.workspace = "c:/sapyexamples/data"
outFzyMember = FuzzyMembership("as_std", FuzzyMSSmall(1.2, 3.2))
outFzyMember.save("c:/sapyexamples/fzymssml")
使用 FuzzyMSSmall 类执行 FuzzyMembership。
# Name: FuzzyMSSmall_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 FuzzyMSSmall algorithm object
meanMultiply = 1.5
stdMultiply = 1
myFuzzyAlgorithm = FuzzyMSSmall(meanMultiply, stdMultiply)
# Run FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)
# Save the output
outFuzzyMember.save("c:/sapyexamples/fzymssml2")