主要内容

barrierPenalty

一个点相对于有界区域的对数障碍罚值

    描述

    例子

    p= barrierPenalty (xxminxmax计算非负(对数障碍)罚向量p的点x关于边界的区域xminxmaxp有相同的维度x.此语法使用的默认值10.1maxValue曲率分别为势垒函数的参数。

    例子

    p= barrierPenalty (___maxValue曲率指定的maxValue曲率势垒函数的参数。如果maxValue是一个空矩阵,它的默认值被使用。同样,如果曲率若为空矩阵或省略该矩阵,则使用其默认值。

    例子

    全部折叠

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

    计算这一分的惩罚值0.1在时间间隔内[-22使用最大值和曲率参数的默认值。

    barrierPenalty (0.1, 2, 2)
    ans = 2.5031 e-04

    计算这一分的惩罚值4间隔外[-22].

    barrierPenalty(4、2、2)
    ans = 1

    计算这一分的惩罚值4间隔外[-22,使用最大值参数5

    barrierPenalty(4、2、2、5)
    ans = 5

    计算区间内0.1点的惩罚值[-22,使用的曲率参数0.5

    barrierPenalty(0.1, 2、2、5、0.5)
    ans = 0.0013

    计算该分的惩罚值[-204]相对于由[01]、[-11), (-22],最大值和曲率参数使用默认值0

    barrierPenalty([-2 0 4],[0 -1 -2],[1 1 2],1,0)
    ans =3×11 0 1

    可视化一个间隔的惩罚值

    创建1001个等距点的矢量,分布在-之间55

    x = 5:0.01:5;

    对向量中的所有点计算惩罚,使用最大值参数的默认值和值0.01对于曲率参数。

    p = barrierPenalty (x, 2、2、1,0.01);

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

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

    Figure包含一个轴对象。带有标题的轴对象在一个间隔上的惩罚值包含一个类型为line的对象。

    输入参数

    全部折叠

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

    例子:(0.5;1.6)

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

    例子:-1

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

    例子:2

    势垒函数的最大值参数,指定为标量。

    例子:2

    势垒函数的曲率参数,指定为标量。

    例子:0.2

    输出参数

    全部折叠

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

    p x 最小值 p 马克斯 C 日志 0.25 x 马克斯 x 最小值 2 日志 x x 最小值 x 马克斯 x 最小值

    x最小值< x < x马克斯,maxValue否则。在这里,C的论点是曲率,p马克斯的论点是maxValue.注意,对于正值C返回的惩罚值总是正的。如果C如果是0,则返回的惩罚值在边界定义的区间内为0,并且p马克斯在这个区间。如果x如果是多维的,则计算将独立地应用于每个维度。惩罚函数通常用于在违反约束时产生负奖励,例如ingenerateRewardFunction

    扩展功能

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

    介绍了R2021b