主要内容

hyperbolicPenalty

一个点相对于有界区域的双曲惩罚值

    描述

    例子

    p= hyperbolicPenalty (x,xmin,xmax计算非负(双曲)惩罚向量p的点x关于被包围的区域xminxmaxp有相同的尺寸x.的默认值10.1λτ双曲函数的参数。

    例子

    p= hyperbolicPenalty (___,λ,τ指定的λτ双曲函数的参数。如果λ为空矩阵,则使用其默认值。同样,如果τ为空矩阵或被省略,则使用其默认值。

    例子

    全部折叠

    这个例子展示了如何使用hyperbolicPenalty函数来计算给定点相对于有界区域的双曲惩罚。

    计算该点的罚分值0.1在间隔内[2,2,使用默认值λτ参数。

    hyperbolicPenalty (0.1, 2, 2)
    ans = 0.0050

    计算该点的罚分值4间隔外[2,2].

    hyperbolicPenalty(4、2、2)
    ans = 4.0033

    计算该点的罚分值0.1在间隔内[2,2),用λ参数的5

    hyperbolicPenalty (0.1, 2, 2, 5)
    ans = 0.0010

    计算该点的罚分值4间隔外[2,2),用λ参数的5

    hyperbolicPenalty(4、2、2、5)
    ans = 20.0007

    计算该点的罚分值4间隔外[2,2),用τ参数的0.5

    hyperbolicPenalty(4、2、2、5、0.5)
    ans = 20.0167

    计算该分的罚分值[2,0,4]相对于由间隔定义的方框[0,1], [-1,1),(2,2的默认值λ和一个τ参数的0

    [-2 0 4],[0 -1 -2],[1 1 2],1,0
    ans =3×14 0 4

    可视化一个区间的惩罚值

    创建一个由1001个等距点组成的向量,分布在-之间55

    x = 5:0.01:5;

    属性的默认值,计算向量中所有点的惩罚值λτ参数。

    p = hyperbolicPenalty (x, 2, 2);

    绘制点并添加网格、标签和标题。

    情节(x, p)网格包含(“位置”);ylabel (“刑罚价值”);标题(“一段时间内的惩罚值”);

    输入参数

    全部折叠

    惩罚被计算的点,指定为数值标量、向量或矩阵。

    例子:(0.5;1.6)

    下界的x,指定为数字标量、向量或矩阵。中的所有元素使用相同的最小值x指定xmin作为一个标量。

    例子:-1

    上界为x,指定为数字标量、向量或矩阵。中的所有元素使用相同的最大值x指定xmax作为一个标量。

    例子:2

    作为标量指定的双曲函数的参数。

    例子:3.

    双曲函数的参数,表示为标量。

    例子:0.3

    输出参数

    全部折叠

    惩罚值,作为非负元素的向量返回。每个元素p取决于位置x对于指定的区间xminxmax.双曲惩罚函数返回值:

    p x λ x x 最小值 + λ 2 x x 最小值 2 + τ 2 λ x 马克斯 x + λ 2 x 马克斯 x 2 + τ 2

    在这里,λ的论点是λ,τ的论点是τ.注意,对于τ返回的惩罚值总是正的,因为在等式的右边,第二项的大小总是大于第一项的大小,第四项的大小总是大于第三项的大小。如果τ为零,则返回的惩罚在界限定义的区间内为零,它与x在这个区间。如果x是多维的,则计算将独立应用于每个维度。惩罚函数通常用于在违反约束时生成负奖励,例如generateRewardFunction

    扩展功能

    C / c++代码生成
    使用MATLAB®Coder™生成C和c++代码。

    介绍了R2021b