- 博客(11)
- 资源 (1)
- 收藏
- 关注
原创 Eigen矩阵colPivHouseholderQr().solve()求解Ax=b
描述使用eigen库求解Ax=b代码#include <Eigen/Dense>Eigen::Matrix2d A;A << 1,2, 4,5;Eigen::Vector2d b(3, 4);Eigen::Vector2d C = A.colPivHouseholderQr().solve(b);std::cout<<C<<std::endl;输出的结果是-2.33333 2.66667代码中的colPivHouseh
2020-07-30 22:35:37 9479
原创 弧度角归一化
描述在编写代码时,一般都是使用弧度角进行计算。弧度角可以是任意的,但作为工程处理来说,一般需要弧度角保持在 -π ~ π 之间代码实现方式是有很多的,这里贴出的是百度apollo代码中的实现方式#include <math.h>double NormalizeAngle(double angle) { double a = fmod(angle + M_PI, 2.0 * M_PI); if (a < 0.0) { a += (2.0 *
2020-07-30 15:41:52 2567 7
原创 二维数据坐标变换
描述存在两个坐标系,同一个点在两个坐标系下的表示关系坐标变换1. 基坐标系转到自定义坐标系基坐标系下有一个点,点为(x,y),自定义坐标系相对于基坐标系先绕原点O旋转角度为θθθ,再平移(xT,yTx^{T}, y^{T}xT,yT)则这个点在自定义坐标系下的位置(x’,y’)是[x′y′]= [cosθ sinθ−sinθ cosθ] [xy] + [xTyT]\left[ \begin{array}{c} x' \\ y' \end{array} \right]=\; \
2020-07-28 16:50:28 1267
原创 Ubuntu系统自动清理日志或文件
描述程序运行中可能会一直存储log文件,长此以往会逐渐填满硬盘空间,造成系统崩溃。人为定期去删除文件,也是费时费力还容易遗忘我们希望电脑能定期的,自动删除我们不需要的文件。所要用到的,就是crontab 定时任务。做这件事情的步骤就两个写一个能自动查找文件并删除文件的脚本使这个脚本能够定时被执行1. 写一个能自动查找文件并删除文件的脚本在路径path1下新建一个脚本文件,可以命名为deleteLog.sh,这个脚本想要删除路径path2中的某些文件脚本内容如下find /path2
2020-07-21 20:48:12 4648
原创 Supervisor进程管理并设置为开机自动启动
描述Supervisor是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。不使用守护进程会出现的三个问题:1、ASP.NET Core应用程序运行在shell之中,如果关闭shell则会发
2020-07-21 18:05:07 4983
原创 python定义列表和数组
描述python语言定义列表及数组,并对数组元素进行基本操作定义1. 列表(List)定义B =[]B.append([2,3,3])B.append([4,45,67])print(B)print(B[1][2])结果是[[2, 3, 3], [4, 45, 67]]672. np.array定义A = np.zeros((2,3))print(A)结果是[[0. 0. 0.] [0. 0. 0.]]np.array是不能使用append的,写成A.append
2020-07-20 11:03:10 7805 1
原创 opencv4找不到opencv2/core/core.hpp: No such file or directory
描述我有一段程序,在Ubuntu16.04系统下使用的是opencv3,后将opencv版本替换成opencv4工程使用QT编译,编译提示了错误“opencv2/core/core.hpp”: No such file or directory解决办法实际上你应该在你的电脑中,准确的找到opencv4的安装位置我的解决办法是在QT工程的XXX.pro文件中,添加头文件路径INCLUDEPATH += /usr/local/include/opencv4问题解决...
2020-07-15 16:05:19 5915 2
原创 gym中toy text——Q-learning实现
描述使用Q-leaning算法实现gym中的toy texttoy text环境gym中的toy text环境包含很多中,这里介绍三种带渲染环境的FrozenLake-v0冬天来了。你和你的朋友在公园里玩飞盘的时候,你疯狂地把飞盘扔在了湖中央。水大部分是冻结的,但有几个洞的冰已经融化。如果你踏进其中一个洞,你就会掉进冰冷的水里。在这个时候,有一个国际飞盘短缺,所以你绝对有必要航行到湖的另一边并取回飞盘。然而,冰面很滑,所以你不能总是按照你想要的方向移动。表面用网格描述如下:S: 起始点,
2020-07-06 12:10:04 1132
原创 C++opencv图像裁剪、等比例放大缩小、复制到指定区域
描述C++使用opencv时,对imshow图像进行的常见处理,包括图像剪裁、等比例压缩等(待继续补充)代码1. 剪裁int matrix_size = 3000;cv::Mat image(matrix_size, matrix_size, CV_8UC3, cv::Scalar(255, 255, 255)); // 原图cv::Mat image_part = image(cv::Rect(1400,1100,1000,1800)); // 裁剪后的图cv::imshow("part o
2020-07-05 16:58:58 20881 5
原创 初识gym——why is gym?
whogym中的环境有几种,都可以在官网找到gym官网—环境Classic control and toy text(经典控制和玩具文本)Atari(Atari游戏)2D and 3D robots(2D和3D机器人)使用代码from gym import envsprint(envs.registry.all())输出会是一个字典,其中包含gym的全部环境开发RL算法时,请使用下面的写法,很简单import gymenv = gym.make('CartPole-v0')B
2020-07-01 10:32:23 486
原创 gym初级——初始gym环境(二)
描述接上一篇gym初级——初始gym环境(一)代码动作空间和状态空间的数据类型import gymenv = gym.make('CartPole-v0')print(env.action_space)print(env.observation_space)输出结果为Discrete(2)Box(4,)意思是动作空间中的动作是离散(Discrete)的2个动作,状态空间中的状态是4维的数组动作空间和状态空间的数据大小import gymenv = gym.make('Cart
2020-07-01 10:15:50 1381
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人