文档帮助中心文档
点相对于有界区域的对数势垒惩罚值
p = barrierPenalty (x, xmin xmax)
p = barrierPenalty (___、maxValue曲率)
例子
p= barrierPenalty (x,xmin,xmax)计算非负(对数位垒)惩罚向量p的点x关于被包围的区域xmin和xmax.p有相同的尺寸x.的默认值1和0.1为maxValue和曲率分别为势垒函数的参数。
p= barrierPenalty (x,xmin,xmax)
p
x
xmin
xmax
1
0.1
maxValue
曲率
p= barrierPenalty (___,maxValue,曲率)指定的maxValue和曲率势垒函数的参数。如果maxValue为空矩阵,则使用其默认值。同样,如果曲率为空矩阵或被省略,则使用其默认值。
p= barrierPenalty (___,maxValue,曲率)
全部折叠
这个例子展示了如何使用对数barrierPenalty函数计算给定点相对于有界区域的势垒惩罚。
barrierPenalty
计算该点的罚分值0.1在间隔内[-2,2使用默认值作为最大值和曲率参数。
-2
2
barrierPenalty (0.1, 2, 2)
ans = 2.5031 e-04
计算该点的罚分值4间隔外[-2,2].
4
barrierPenalty(4、2、2)
ans = 1
计算该点的罚分值4间隔外[-2,2,使用最大值参数5.
5
barrierPenalty(4、2、2、5)
ans = 5
计算区间内0.1点的罚分值[-2,2,使用的曲率参数为0.5.
0.5
barrierPenalty(0.1, 2、2、5、0.5)
ans = 0.0013
计算该分的罚分值[-2,0,4]相对于由[0,1], [-1,1), (-2,2],使用默认值的最大值和曲率参数0.
0
-1
barrierPenalty([-2 0 4],[0 -1 -2],[1 1 2],1,0)
ans =3×11 0 1
可视化一个区间的惩罚值
创建一个由1001个等距点组成的向量,分布在-之间5和5.
x = 5:0.01:5;
使用最大值参数的默认值和的值,计算向量中所有点的惩罚值0.01求曲率参数。
0.01
p = barrierPenalty (x, 2、2、1,0.01);
绘制点并添加网格、标签和标题。
情节(x, p)网格包含(“位置”);ylabel (“刑罚价值”);标题(“一段时间内的惩罚值”);
惩罚被计算的点,指定为数值标量、向量或矩阵。
例子:(0.5;1.6)
(0.5;1.6)
下界的x,指定为数字标量、向量或矩阵。中的所有元素使用相同的最小值x,指定xmin作为一个标量。
例子:-1
上界为x,指定为数字标量、向量或矩阵。中的所有元素使用相同的最大值x,指定xmax作为一个标量。
例子:2
势垒函数的最大值参数,指定为标量。
势垒函数的曲率参数,指定为标量。
例子:0.2
惩罚值,作为非负元素的向量返回。每个元素p我取决于位置x我对于指定的区间xmin我和xmax我.barrier惩罚函数返回该值
p我
x我
xmin我
xmax我
p ( x ) = 最小值 ( p 马克斯 , C ( 日志 ( 0.25 ( x 马克斯 − x 最小值 ) 2 ) − 日志 ( ( x − x 最小值 ) ( x 马克斯 − x 最小值 ) ) ) )
当x最小值< x < x马克斯,maxValue否则。在这里,C的论点是曲率,p马克斯的论点是maxValue.注意,对于C返回的惩罚值总是正的。如果C为零,则返回的惩罚在边界定义的区间内为零,并且p马克斯在这个区间。如果x是多维的,则计算将独立应用于每个维度。惩罚函数通常用于在违反约束时生成负奖励,例如generateRewardFunction.
generateRewardFunction
exteriorPenalty
hyperbolicPenalty
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系