自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (1)
  • 收藏
  • 关注

原创 ubuntu18.04 图标和文件夹只有黑色和白色解决方案

问题描述今天打开电脑,发现Ubuntu 桌面文件和文件夹只有黑白了,如下图所示,看着很不习惯。解决方案解决方案也很简单,只需要 Setting—Universal Access–High Contract选成OFF就行了。花了一上午的时间,各种搜索,终于倒腾好了,界面也恢复了往日的清爽。...

2022-05-18 21:52:16 1441 3

原创 车辆运动学模型的线性化及其离散化

一、数学基础:泰勒展开从一元函数的泰勒展开说起一元函数在x0x_0x0​处的泰勒展开表达式为:f(x)=f(x0)+f(x0)′(x−x0)+12!f(x0)′′(x−x0)+onf(x) = f(x_0) + {f(x_0)}'(x - x_0) + \frac{1}{2!}{f(x_0)}''(x - x_0) + o^nf(x)=f(x0​)+f(x0​)′(x−x0​)+2!1​f(x0​)′′(x−x0​)+on那么同理,二元函数的泰勒展开为:f(x,y)=f(x0,y0)+fx′(x0

2021-12-20 11:40:26 3724

原创 unique_ptr的使用

初始化unique_ptrunique_ptr实现独占式拥有或严格拥有概念,保证同一时间内只有一个智能指针可以指向该对象。当unique_ptr被销毁时,它所指向的对象也会被销毁。由于unique_ptr不可拷贝和赋值,初始化unique_ptr必须使用直接初始化的方式。c++14正式引入的make_unique,所以我们在初始化的时候尽量使用make_unique,而不是不直接使用new,具体原因参考这篇文章。另外unique_ptr还有更聪明的地方:当程序试图将一个 unique_ptr 赋值给另一

2021-12-09 15:16:49 2767

原创 C++处理输入流中以逗号或者空格分隔的数据

一、cin和getline同时使用易错点当 cin 读取数据时,它会传递并忽略任何前导白色空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。在使用getline读入一整行时,若是前面是使用getchar()、cin这类读入了一个字母,但是不会读入后续换行’\n’符号或者空格的输入时,再接getline()就容易出现问题。比如: /* 输入 : 1one */#include <iostream>#include &

2021-11-17 15:45:39 17377

原创 Ubuntu18.04(Melodic)中安装ROS Gazebo

Ubuntu18.04 开机之后发现常用的ros居然提示没有安装,也没有仔细去核查原因。直接安装了一个桌面版本。sudo apt-get install ros-melodic-desktop考虑到后续要使用gazebo,顺便把gazebo也安装了以下。sudo apt install ros-melodic-gazebo9*运行仿真模型的时候出现问题汇总:1.ROS: Could not load controller ‘joint_state_controller’ because co

2021-10-21 13:54:57 1968

原创 如何通过 CMakeLists.txt 将参数传到代码里面

直接看代码, 将BUILD_ROS传到 hello.cpp 里面。hello.cpp 代码如下:#include <iostream>int main(){ #if BUILD_ROS { std::cout<<"hello ros"<<std::endl; } #else { std::cout<<"hello world"<<std::endl; } #endif r

2021-08-30 11:49:29 1450 1

原创 Ubuntu安装ipopt和cppAD

How to install Ipopt on arm environmentNeed an external networkInatall CPPAD & Fortran$ sudo apt-get install cppad gfortran Get ipopt source codeDownload Ipopt-3.12.8.tgz from https://www.coin-or.org/download/source/Ipopt/Untar the package and

2021-07-28 18:09:08 1325

原创 Ubuntu和Windows双系统,开机无Ubuntu引导

解决办法:以管理员的身份在cmd中敲入命令:bcdedit /set “{bootmgr}” path \EFI\ubuntu\grubx64.efi然后重启就有ubuntu引导了,亲测有效

2021-07-28 18:04:16 955

原创 c++11 less和greater用办法

#include <algorithm>#include <functional>#include <limits>#include <set>#include <iostream>#include <vector>using namespace std;/*template <class T> struct less{ bool operator()(const T& x, const T&

2021-07-26 10:43:53 525

原创 回溯算法个人总结

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。示例 1:输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]class Solution {public: vector<vector<int>> res; void dfs(int pos,vector<int>& nums,vector<int&

2021-07-13 11:41:36 210

原创 fatal: The remote end hung up unexpectedly03 GiB | 480.00 KiB/s fatal: early EOF fatal: index-

Git fatal: the remote end hung up unexpectedly错误解决方案一文中认为主要原因要么是缓存不够,要么是网络不行,通过如下配置解决:# 修改全局提交缓存大小git config --global http.postBuffer 524288000# 修改全局下载最低速度以及对应的最长时间git config --global http.lowSpeedLimit 0git config --global http.lowSpeedTime 999999

2021-07-13 11:38:16 466

原创 使用svn下载GitHub项目中某个文件夹或文件

一、安装svnsudo apt-get install subversion二、开启svn服务器svnserve -d -r [file]这里的file是这是的svn服务器位置,可以在任意地方新建一个文件夹。我直接这里使用的:svnserve -d -r .注意:网上有教程没有这一步也同样成功了,但是我不执行这一步就下载不下来。三、确定github项目的URL确定github项目中要下载的文件或文件夹的URL,如:https://github.com/ApolloAuto/apol

2021-06-21 15:26:01 1207

原创 二分法查找,返回有序数组中第一个大于给定值的元素的索引

//查找有序数组中第一个大于V的索引int first_upper_bound(int v, vector<int>&nums){ if(nums.empty()) return -1; int n = nums.size()-1; if(nums[n-1] <= v) return n; int left = 0,right = nums.size()-1; while(left < right) { in

2021-06-09 17:44:24 599

原创 前 K 个高频元素

给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。class Solution {public: static bool cmp(pair<int,int> &p1,pair<int,int> &p2) { return p1.second > p2.second; } vector<int> topKFrequent(vector&l

2021-06-07 21:52:49 103

原创 如何将连续系统状态空间方程离散化

连续系统转化为离散系统的方法之-- z变换。z变换主要研究如何将连续系统传递函数G(s) 转化为离散传递函数 G(z)。就是找到一个s和z的关系,直接将G(s)中的s全部替换为z便大功告成。线性连续系统的表达方法之一便是传递函数,用 s 表示微分C(s)=b0sn−1+...+bn−1sn+a0sn−1+...+an−1(1)C(s) = \frac{b_0s^{n-1}+...+b_{n-1}}{s^n+a_0s^{n-1}+...+a_{n-1}} \tag{1}C(s)=sn+a0​sn−1+.

2021-06-07 14:41:09 7320 2

原创 ubuntu 18.04 vscode 打不开,Error: ENOSPC: System limit for number of file watchers reached, watch

Ubuntu18.04启动vscode 没有反应,无法正常打开,然后用日志模式:code --verbose出现如下信息[main 2021-05-06T01:50:10.524Z] Error: ENOSPC: System limit for number of file watchers reached, watch '/snap/code' at FSWatcher.start (internal/original-fs/watchers.js:169:26) at watc

2021-05-06 10:02:30 446

原创 c++ unordered_set,unordered_map中自定义哈希函数

unordered_map定义如下:template<class Key, class Ty, class Hash = std::hash<Key>, class Pred = std::equal_to<Key>, class Alloc = std::allocator<std::pair<const Key, Ty> > > class unordered_map; > class u

2021-04-20 11:29:39 3844 1

原创 map中的insert问题以及常见操作

#include <map>#include <iostream>#include <string>using namespace std;struct cmp{ bool operator()(pair<int,string> p, pair<int,string> q) { return p.first > q.first; }};int main(){ //unordered_map<int, s

2021-04-06 10:45:54 893

原创 Python中冒号(:)在切片中的使用

对于一维数组来说,python原生的list和numpy的array的切片操作都是相同的,记住一个规则:**arr_name[start: end: step]**就可以了。下面是几个特殊的例子:[:]表示复制源列表负的index表示,从后往前。-1表示最后一个元素。import numpy as npdata = np.arange(20).reshape(4,5)#array([[ 0, 1, 2, 3, 4],# [ 5, 6, 7, 8, 9],#

2021-03-31 14:43:09 1092 2

原创 namespace和max_element仿函数写法杂记

匿名namespace命名空间可以是匿名的,此时该匿名命名空间实际也是作用于默认命名空间中的, 只是相当于对该名空间下的标识符添加了static修饰词,使其仅作用于本文件。namespace {const double kStBoundaryDeltaS = 0.2; // metersconst double kStBoundarySparseDeltaS = 1.0; // metersconst double kStBoundaryDeltaT = 0.05; /

2021-03-23 11:16:07 148

原创 在ubuntu中用vscode编译调试C\C++

launch.json{ // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configuratio

2021-03-15 11:14:55 158

原创 CSC矩阵个人总结

先看代码import numpy as npfrom scipy.sparse import csc_matrixindptr = np.array([0, 2, 3, 6])indices = np.array([0, 2, 2, 0, 1, 2])data = np.array([1, 2, 3, 4, 5, 6])csc_matrix((data, indices, indptr), shape=(3, 3)).toarray()输出array([[1, 0, 4],

2021-03-08 16:28:54 787

原创 树的三种遍历方法的个人理解及代码实现

树的三种遍历方法:前序,中序和后序及其代码实现。在此分别总结先序,中序,后序的结点输出顺序。个人记忆理解:这三种遍历顺序都是相对于根节点的访问顺序来命名的。先序:1.访问根结点2.访问左子树3.访问右子树中序:1.访问左子树2.访问根结点3.访问右子树访问左子树。【先访问左子树中的左子树,再访问左子树中的右子树。】直到访问到叶子结点后输出。输出根。访问右子树。【先访问右子树中的左子树,再访问右子树中的右子树。】直到访问到叶子结点后输出。后序:1.访问左子树2.访问右子树3.

2021-03-01 11:19:36 1012

原创 C++随机数

C++ 库有一个名为 rand() 的函数,每次调用该函数都将返回一个非负整数。要使用 rand() 函数,必须在程序中包含 头文件。以下是其用法示例:randomNum = rand();该算法需要一个起始值,称为种子,以生成数字。如果没有给出一个种子,那么它将在每次运行时产生相同的数字流。//This program demonstrates using the C++ time function//to provide a nseed,T for the random number gen

2021-02-23 15:41:59 130

原创 STL迭代器适配器

通过学习 C++ STL 标准库中的容器我们知道,无论是序列式容器还是关联式容器(包括哈希容器),要想遍历容器中存储的数据,就只能用使用该容器模板类中提供的迭代器。STL迭代器适配器种类反向迭代器(reverse_iterator)又称“逆向迭代器”,其内部重新定义了递增运算符(++)和递减运算符(–),专门用来实现对容器的逆序遍历。安插型迭代器(inserter或者insert_iterator) 通常用于在容器的任何位置添加新的元素,需要注意的是,此类迭代器不能被运用到元素个数固定的容器(比如

2021-02-22 15:59:38 178

原创 STL 容器适配器用法

一、stack栈中存储的元素满足后进先出(简称LIFO)stack 适配器的开头端通常称为栈顶。每次只能访问适配器中位于最顶端的元素,也只有移除 stack 顶部的元素之后,才能访问位于栈中的元素#include <stack>using namespace std;stack<T,Container=deque> 模板类提供了 2 个参数,通过指定第二个模板类型参数只要该容器支持 empty()、size()、back()、push_back()、pop_back(

2021-02-22 15:04:13 492

原创 03 LeetCode:最小路径和(动态规划)

题目描述给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。解答经分析,状态转移方程如下:当 i>0 且 j=0时,dp[i][0]=dp[i−1][0]+grid[i][0]。当 i=0且 j>0 时,dp[0][j]=dp[0][j-1]+grid[0][j]。当 i>0且 j>0 时,dp[i][j] = min(dp[i - 1][j], dp[i][j - 1

2021-02-16 23:30:34 128

原创 02 LeetCode:不同路径(动态规划)

题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?解答对于第一行 dp[0][j],或者第一列 dp[i][0],由于都是在边界,所以只能为 1dp[i][j] 表示到达( i, j )处最多有dp[i][j]路径由于机器人每次只能向下或者向右移动一步,那么:每个位置的路径 = 该位置左边的路径 + 该位置上边的路径

2021-02-16 22:53:41 77

原创 01 LeetCode:最长递增子序列(动态规划)

题目描述给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。子序列是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。解答当 nums[i]>nums[j] 时: nums[i]可以接在nums[j] 之后(此题要求严格递增),此情况下最长上升子序列长度为 dp[j] + 1dp[j]+1 ;class Solution {public: int lengthOfLIS(

2021-02-16 22:17:51 210

原创 Ubuntu 16.04安装gtest遇坑,成功安装及使用记录

命令行安装失败今天按照网上教程安装gtestubuntu@ubuntu:~$ sudo apt-get install libgtest-dev安装完了之后写了一个测试案例test.cpp://test.cpp# include <gtest/gtest.h>int Add( int a, int b) //计算两数之和{ return a+b;}TEST(AddTest, IntTest){ EXPECT_EQ( 8 , Add( 2 , 5 ));

2021-02-08 10:57:32 1478 2

原创 Ubuntu下使用protobuf和socket实现服务器间消息传输

一、定义protobuf数据结构Test.protopackage Test.protobuf ;//包名:在生成对应的C++文件时,将被替换为名称空间,在代码中会有体现option optimize_for = SPEED ;//文件级别的选项,Protobuf优化级别//心跳信息数据结构message HeartInfo{ required int32 curtime = 1; required string hostip = 2 ; };二、编写protobuf和soc

2021-02-04 14:16:55 443

原创 priority_queue理解与使用

描述在优先队列中,元素被赋予优先级。当访问元素时,具有最高优先级的元素在顶部。优先队列具有最高级先出 (first in, largest out)的行为特征。优先队列有三个参数,其声明形式为:priority_queue< type, container, function >这三个参数,后面两个可以省略,第一个不可以。其中:type:数据类型;container:实现优先队列的底层容器;function:元素之间的比较方式;对于container,要求必须是数组形式实

2021-01-29 17:44:21 217

原创 车辆控制参考资料

汽车运动学模型的线性化推导过程车辆动力学模型

2021-01-28 17:34:01 217

原创 常用git操作记录

查看提交记录git log --oneline --graph 查看提交git reflog合并分支:git merge issue_dev #主分支上合并问题分支查看差异git diff HEAD #也可以时其他IDgit diff --cached #文件为可提交状态(staged)切换到master分支:git checkout master创建并切换到issue_dev分支git checkout -b issue_dev回退单个文件到某个版本git checkout 3a

2021-01-27 20:10:05 101

原创 Ubuntu下用conda 安装 PyTorch速度慢

配置清华源:gedit ~/.condarc将下面内容复制粘贴:channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/menpo/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/ - https://mirr

2021-01-27 11:36:07 504

原创 卡尔曼滤波资料整理

详解卡尔曼滤波原理融合高斯分布协方差与协方差矩阵贝叶斯滤波SIMON D. LEVY教程

2021-01-26 16:29:46 126

原创 如何安装coco以及导入coco_utils和coco_eval?

今天跑pytorch目标检测教程时发现自己没有安装coco,于是按照如下步骤安装cocoubuntu@ubuntu:~$ git clone https://github.com/cocodataset/cocoapi.gitubuntu@ubuntu:~$ cd cocoapi/PythonAPIubuntu@ubuntu:~$ python setup.py build_ext --inplaceubuntu@ubuntu:~$ sudo python setup.py install

2021-01-20 17:20:59 1931

原创 docker执行的时候总是需要加sudo,原来是。。。

docker执行的时候总是需要加sudo,原来是没有把当前用户添加进Docker用户组。# 添加docker用户组,一般已存在,不需要执行sudo groupadd docker # 将登陆用户加入到docker用户组中sudo gpasswd -a $USER docker# 更新用户组newgrp docker # 测试docker命令是否可以使用sudo正常使用docker version ...

2021-01-15 15:09:29 783

翻译 Docker容器的使用

Docker Hello WorldDocker Hello WorldDocker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。输出Hello worldrunoob@runoob:~$ docker run ubuntu:15.10 /bin/echo "Hello world"Hello world各个参数解析:docker: Docker 的二进制执行文件。run: 与前面的 docker 组合来运行一个容器。ubuntu

2021-01-15 10:45:53 93

原创 pytorch 下载对应版本的libtorch

1.查看pytorch版本终端输入import torchprint(torch.__version__)2.查看cuda版本方法1:cat /usr/local/cuda/version.txt方法2:nvcc -V3.点击这里选择合适的libtorch版本请注意,在Linux上提供了两种类型的libtorch二进制文件:一种是用GCC pre-cx11 ABI编译的,另一种是用GCC-cx11 ABI编译的,应该根据系统使用的GCC ABI进行选择。参考文档https:/

2021-01-13 14:01:10 2311

goldendict 词典及语法文件

dict/grammar 高级汉语词典 朗道英汉词典 朗道汉英词典 牛津英汉词典

2022-10-18

图像识别数据集-cifar-10-batches-py.tar.gz

cifar10数据集-python版本,数据集中包含有10类图片,以供1-10类分类算法使用,官网下载比较慢,所以分享出来供大家使用。

2020-12-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除