如何使有限的吗?
7视图(30天)
显示旧的评论
观之tazawa
2021年8月8日
我想知道怎么去解决这个错误。
错误masage说价值有限。
有四个输入状态变量。
我怎么能修复它吗?
函数set.State(状态),
validateattributes(状态,{“数字”},{“有限”,“真实”的,“向量”,“元素个数”4},”,“状态”);
这一点。状态=双(状态(:));
notifyEnvUpdated(这个);
结束
5个评论
观之tazawa
2021年8月12日
下面是代码。
%摆扔球目标点。
classdefMyEnvironment < rl.env.MATLABEnvironment
属性
m = 1.0;%的质量摆
L = 1.0;%摆的长度
g = 9.8;%的重力
b = 0.01;%的摩擦系数
MaxForce = 75;% Troque
t = 0.04;%时间步
目标= 2.5;%的目标点
RewardForNotFalling = 0;% -奖励
RewardForStrike = 10;%积极的奖励
PenaltyForFalling = -10;%的惩罚
国家= [0 0 0 0)';%地区利用角度,角速度,球的距离,troque
结束
属性(访问=保护)
结束= false
结束
方法
函数这个= MyEnvironment ()
ObservationInfo = rlNumericSpec (1 [4]);
ObservationInfo。Name =“州”;
ObservationInfo。描述=“θ,w, ball_gosa u”;
ActionInfo = rlNumericSpec ([1],“LowerLimit”30岁的“UpperLimit”,75);
ActionInfo。Name =“行动”;
ObservationInfo。描述=“F”;
这= this@rl.env.MATLABEnvironment (ObservationInfo ActionInfo);
updateActionInfo(这个);
结束
函数(观察、奖励、结束,LoggedSignals) =一步(这个动作)
LoggedSignals = [];
力= getForce(这个动作);
θ= this.State (1);
w = this.State (2);
结束= false;
R = 0;
% eulur摆动力学的方法
q2 = w -θ(this.g / this.L) * *。Ts -。b * this.Ts-Force * this.Ts;
q1 =θ+ w * this.Ts;
%球动力学
ball_x =。L * sin (q1);
ball_y = -。L * cos (q1);
ball_time =√2 * abs (ball_y) / 9.8);
ball_reach = ball_x + abs (q2)。* ball_time;
ball_gosa = ball_reach-this.Target;
第三季度= ball_gosa;
%的奖励
如果0 < q3 & & q3 < 0.5
结束= true;
R = this.RewardForStrike;
其他的
R = this.RewardForNotFalling;
结束
观察= (q1 q3力)';
这一点。状态=观察;
这一点。结束=结束;
奖励= getReward(右);
notifyEnvUpdated(这个);
结束
函数InitialObservation =重置(这)
theta0 = 0;
w0 = 0;
ball_gosa0 = 0;
情况= 0;
InitialObservation = [theta0 w0 ball_gosa0情况]”;
这一点。状态= InitialObservation;
notifyEnvUpdated(这个);
结束
结束
方法
函数操作力= getForce (~)
力=行动;
结束
函数updateActionInfo(这)
这一点。ActionInfo = this.ActionInfo;
结束
%奖励函数
函数奖励= getReward(右)
如果this.IsDone = = 1
奖励= R + this.RewardForStrike;
其他的
奖励= R + this.PenaltyForFalling;
结束
结束
函数set.State(状态),
validateattributes(状态,{“数字”},{“有限”,“真实”的,“向量”,“元素个数”4},”,“状态”);
这一点。状态=双(状态(:));
notifyEnvUpdated(这个);
结束
函数set.MaxForce (val)
validateattributes (val, {“数字”},{“有限”,“真实”的,“积极”,“标量”},”,“MaxForce”);
这一点。MaxForce = val;
结束
函数set.Ts (val)
validateattributes (val, {“数字”},{“有限”,“真实”的,“积极”,“标量”},”,“t”);
这一点。Ts = val;
结束
函数set.RewardForNotFalling (val)
validateattributes (val, {“数字”},{“真实”的,“有限”,“标量”},”,“RewardForNotFalling”);
这一点。RewardForNotFalling = val;
结束
函数set.PenaltyForFalling (val)
validateattributes (val, {“数字”},{“真实”的,“有限”,“标量”},”,“PenaltyForFalling”);
这一点。PenaltyForFalling = val;
结束
函数set.RewardForStrike (val)
validateattributes (val, {“数字”},{“真实”的,“有限”,“标量”},”,“RewardForStrike”);
这一点。RewardForStrike = val;
结束
函数set.L (val)
validateattributes (val, {“数字”},{“有限”,“真实”的,“积极”,“标量”},”,“L”);
这一点。L = val;
结束
函数set.m (val)
validateattributes (val, {“数字”},{“有限”,“真实”的,“积极”,“标量”},”,“米”);
这一点。m = val;
结束
结束
方法(访问=保护)
%(可选)更新可视化每次更新的环境
% (notifyEnvUpdated)
函数envUpdatedCallback(这)
情节(this.State)
持有在
XLimMode =“汽车”;
YLimMode =“汽车”;
结束
结束
结束
答案(0)
另请参阅
下载188bet金宝搏
一个错误发生
无法完成的行动,因为页面所做的更改。重新加载页面更新状态。
你也可以从下面的列表中选择一个网站
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。