资源简介
matlab中平衡杆问题的强化学习代码,包含Q学习、Sarsa学习的实现。
代码片段和文件信息
% Cart_Pole: 实施动作,通过估计τ秒后的状态更新其值
function [xx_dotthetatheta_dot]=Cart_Pole(actionxx_dotthetatheta_dot)
% 仿真参数
g=9.8; %重力
Mass_Cart=1.0; %车的质量
Mass_Pole=0.1; %杆的质量
Total_Mass=Mass_Cart+Mass_Pole;
Length=0.5; %杆的一半的长度
PoleMass_Length=Mass_Pole*Length;
Force_Mag=10.0;
Tau=0.02; %更新值的时间间隔
Fourthirds=1.3333333;
if action>0
force=Force_Mag;
else
force=-Force_Mag;
end
temp = (force + PoleMass_Length *theta_dot * theta_dot * sin(theta))/ Total_Mass;
thetaacc = (g * sin(theta) - cos(theta)* temp)/ (Length * (Fourthirds - Mass_Pole * cos(theta) * cos(theta) / Total_Mass));
xacc = temp - PoleMass_Length * thetaacc* cos(theta) / Total_Mass;
% 更新状态值
x=x+Tau*x_dot;
x_dot=x_dot+Tau*xacc;
theta=theta+Tau*theta_dot;
theta_dot=theta_dot+Tau*thetaacc;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-05-15 17:11 ☆cartpole\
文件 897 2016-12-28 14:50 ☆cartpole\Cart_Pole.m
文件 1624 2016-12-28 14:26 ☆cartpole\get_box.m
文件 2919 2017-01-05 19:21 ☆cartpole\main.asv
文件 134 2004-02-26 08:24 ☆cartpole\plotcircle.m
文件 437 2005-03-09 02:26 ☆cartpole\plot_Cart_Pole.m
文件 84 2005-03-08 23:39 ☆cartpole\prob_push_right.m
文件 2329 2017-01-05 19:56 ☆cartpole\Q.asv
文件 2406 2017-01-05 20:07 ☆cartpole\Q.m
文件 2535 2017-01-05 19:49 ☆cartpole\Ql.m
文件 65 2005-03-09 01:08 ☆cartpole\Random_Pole_Cart.m
文件 2565 2017-01-05 19:30 ☆cartpole\Sarsa.m
- 上一篇:matlab_基于QPSK的ML检测算法
- 下一篇:用脉冲函数求传递函数
相关资源
- sutton强化学习随书MATLAB代码
- 强化学习代码,2016版,matlab
- 强化学习matlab源代码289697
- Matlab强化学习_网格迷宫问题_SarsaLam
- MATLAB强化学习_多臂赌机问题_时变eg
- MATLAB强化学习_多臂赌机问题_softmax策
- 强化学习倒摆程序
- 强化学习Qlearning算法matlab
- 强化学习matlab代码
- 强化学习_倒立摆_Matlab程序
- 强化学习matlab源代码
- 基于强化学习的路径规划
- Q学习算法来实现的机器人路径规划
- suntton-RL-book-demo sutton强化学习书籍的
- MobileRobotSimQ 使用Q学习的强化学习算法
- inverted-pendulum-control 利用强化学习的自
- Q-Learning Q 学习方面的MATLAB程序
- Q强化学习matlab源代码
评论
共有 条评论