FuzzyMSSmall

需要 Spatial Analyst 许可。

摘要

通过一个基于平均值和标准差的函数,以隶属度更接近于 1 的较小值定义模糊隶属度。

说明

使用 FuzzyMSSmall 对象的工具:模糊隶属度

根据 a * m 的乘积,MS 较小值函数有两个方程。

  • 如果 x > a * m

    u(x) = (b * s) / (x - (a * m) + (b * s))

    • 其中:

      m = 平均数

      s = 标准差

      a = 平均数的乘法器

      b = 标准差的乘法器

      ab 乘法器是输入参数。

  • 如果 x <= a * m

    u(x) = 0

当较小的输入值具有较高的隶属度时,MSSmall 函数十分有用。

输入值可以为整型值或浮点型正值。

结果可能与较小值模糊隶属度函数类似,具体取决于平均值和标准差的乘法器定义方式。

语法

 FuzzyMSSmall (meanMultiplier, STDMultiplier)
参数说明数据类型
meanMultiplier

MS 大值函数方程中输入值的平均值的乘数。

(默认值为 1)

Double
STDMultiplier

MS 大值函数方程中输入值的标准差的乘数。

(默认值为 1)

Double

属性

属性说明数据类型
meanMultiplier
(可读写)

隶属度函数方程中输入值的平均值的乘数。

Double
STDMultiplier
(可读写)

隶属度函数方程中输入值的标准差的乘数。

Double

代码示例

FuzzyMSSmall 示例 1(Python 窗口)

演示如何在 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 示例 2(独立脚本)

使用 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)

# Execute FuzzyMembership
outFuzzyMember = FuzzyMembership(inRaster, myFuzzyAlgorithm)

# Save the output
outFuzzyMember.save("c:/sapyexamples/fzymssml2")

相关主题