本文介绍了如何在 Windows 操作系统中适用微软官方提供的 WSL(Windows Subsystem for Linux) 工具部署 Linux 子系统。 1. 什么是 WSL 1.1. WSL 1 和 WSL 2 1.2. 例外情况(使用 WSL 1 而不是 WSL 2) 2. 安装 WSL ...
在 Windows 中部署和使用 WSL 并进行跨平台 C/C++ 开发
航天中的四元数以及姿态运动学
本文介绍了航天器姿态描述、姿态变换和姿态运动学中涉及的四元数表示法。 1. 基础 1.1. 矢量的正交分解 1.2. 叉乘矩阵 1.3. 坐标系定义 2. 轴角旋转 3. 姿态四元数 3.1. 四元数定义 3.2. 四元数表示旋转 3.3. 姿态四元数 ...
使用CMake开发C++工程
本文介绍了使用 CMake(CPack) 和 NSIS 构建并打包 C/C++ 工程项目的基本流程和方法,核心在于 CMakeLists.txt 文件的编写。 1. 引言 1.1. 传统编译 1.2. Make 编译 1.3. CMake 编译 2. 安装 CMake 3. 编写 CMakeLists.tx...
强化学习(值函数近似)
本文首先介绍了值函数近似(Value Approximation),然后分别结合 SARSA 和 Q-Learning 给出了两种 Q 函数近似的方法。通过分析线性函数作为估计函数的局限性,自然引入神经网络来进行非线性函数近似,引出了基于深度学习的 Q 函数估计网络:Deep Q-Network(DQN)。 1. 引言 2. 状态价值函数近似 2.1...
强化学习(时序差分法)
本文首先引入了随机近似理论,然后通过比较动态规划和蒙特卡洛,引出结合二者优势的时序差分法。通过分析可知,时序差分法是随机近似理论的一个特例。随后详细介绍了同轨策略下的时序差分控制(SARSA)、离轨策略下的时序差分控制(Q-Learning)和期望SARSA。最后介绍了基于价值的深度强化学习方法:Deep Q-Network(DQN)。 1. 引言 2. 随机近似理论 ...
强化学习(蒙特卡洛法)
本文介绍了强化学习的 model-free 方法——蒙特卡洛法。 1. 引言 2. 蒙特卡洛法 2.1. 大数定律与蒙特卡洛思想 2.2. 蒙特卡洛基础算法 2.2.1. 蒙特卡洛采样 2.2.2. 蒙特卡洛价值估计 2.2.3. 算法流程 ...
强化学习(动态规划)
本文介绍了强化学习的动态规划法(Dynamic Programming,DP),采用动态规划的思想,分别介绍策略迭代和价值迭代方法。 1. 强化学习问题的求解 2. 动态规划 2.1. 策略迭代 2.1.1. 策略评估 2.1.2. 策略改进 2.1.3. 算法流程 ...
强化学习(马尔可夫决策过程)
本文介绍了强化学习的基本概念和模型,主要包括马尔可夫过程、马尔可夫奖励过程和马尔可夫决策过程。 1. 强化学习 1.1. 状态空间 1.1.1. 状态 1.1.2. 观测 1.2. 动作空间 1.3. 策略 2. 马尔可夫...
Windows环境下使用CMake+MinGW-w64编译模型加载库assimp
本文介绍了在Windows环境下使用MinGW-w64编译模型加载库assimp的方法和坑。 1. 基本知识 1.1. MinGW-w64 1.2. assimp 2. 部署方式 2.1. CMake 2.2. make 3. 参考文献 1. 基本知识 1.1. ...
天文学基础(坐标系统)
本文介绍了天文学中基本的座标系统。 1. 背景 1.1. 国际地球自转和参考框架服务 1.2. 国际天文学联合会 2. 坐标系 2.1. 参考系统与参考框架 2.2. 坐标系的分类 2.3. 国际天球参考系统和参考框架(ICRS/ICRF) ...