自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(139)
  • 资源 (16)
  • 收藏
  • 关注

原创 内存中存储区分类

问题:内存中到底分几个区?1、栈区(stack)-- 由编译器自动分配释放,存放函数的参数值,局部变量的值等。2、堆区(heap)-- 一般有程序员分配和释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据结构中的堆是两回事,分配方式类似于链表。3、全局区(静态区)(static)-- 全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变...

2019-10-24 16:48:12 1044

原创 深入理解for循环(执行顺序)

for循环的表达式一般如下:for(expression1;expression2;expression3){expression4;}执行的顺序为:1)第一次循环,即初始化循环。先执行expression1(一般为初始化语句),再执行expression2(一般为条件判断语句),判断expression1是否符合expression2的条件,如果符合,则执行expressi...

2019-10-23 09:46:08 4082

转载 用C语言简单实现一个可变数组

转载:https://blog.csdn.net/melody_1016/article/details/81948809我们知道,C语言的数组是固定大小的,尽管可以用一个变量来定义数组大小,但是一旦定义了,在大小在运行过程中无法改变。如果一开始就定义一个容量较大的数组,那么由于不知道实际要存放多少元素,可能会造成空间浪费或者还是不够用。所以,本篇博客,我们就用C语言实现一个可以变大小的数组...

2019-05-28 17:12:45 4182 1

转载 B-spline Curves 学习之B样条曲线的导数(8)

Derivatives of a B-spline Curve  尽管B-样条曲线比贝塞尔曲线复杂得多,它们的导数很相似。假设一个B-样条曲线定义如下:    每个基函数的导数可计算如下:    将这些导数代回曲线方程得到下列结果:    其中Qi定义如下:    因此,一个B-样条曲线的导数是另一个p- 1次...

2019-04-29 17:32:44 2062 1

转载 B-spline Curves 学习之B样条曲线的移动控制点、修改节点分析(7)

B-spline Curves: Moving Control Points  B-样条曲线:移动控制点  移动控制点是改变B-样条曲线形状的最明显的方法。在前面页讨论的局部修改方案说明了修改控制点Pi的位置仅影响在区间[ui,ui+p+1)上的曲线C(u)。其中p是B-样条曲线的次数。实际上,形状的改变是在控制点被移动方向上的t平移。更准确地,...

2019-04-29 17:11:09 6261

转载 B-spline Curves 学习之B样条曲线的系数计算与B样条曲线特例(6)

B-spline Curves: Computing the Coefficients  尽管de Boor算法是一个计算对应于给定u的B-样条曲线上的点的标准方法, 我们许多情况下(例如,曲线插值和逼近)真正需要的是这些系数。我们将阐述一个简单方法来做这个。  给定一个由n+1个控制点P0,P1, ...,Pn, 和m+1个节点u0=u1=...=...

2019-04-27 16:42:06 2341

转载 B-spline Curves 学习之B样条曲线性质(5)

B-spline Curves: Important Properties B-样条曲线有很多与贝塞尔曲线一样的重要性质,因为前者是后者的推广。而且,B-样条曲线有比贝塞尔曲线更渴望的性质。下面列出B-样条曲线一些最重要的性质。  接下来我们假设一个由n+ 1 控制点和一个节点向量U= {u0,u1, ....,um}定义的p次B-...

2019-04-27 16:32:01 3599

转载 B-spline Curves 学习之B样条曲线定义(4)

B-spline Curves: Definition  给定n+ 1个控制点P0,P1, ...,Pn和一个节点向量U= {u0,u1, ...,um},p次B-样条曲线由这些控制点和节点向量U定义    其中Ni,p(u)是p次B-样条基函数。  B-样条曲线形式与贝塞尔曲线相似 。不像贝塞尔曲线,B-样条...

2019-04-27 15:56:43 4397 1

转载 B-spline Curves 学习之B样条基函数计算实例(3)

B-spline Basis Functions: Computation Examples1.简单节点(Simple Knots )  假设节点向量是U= { 0, 0.25, 0.5, 0.75, 1 }. 因此,m= 4 和u0= 0,u1= 0.25,u2= 0.5,u3= 0.75及u4= 1。0次(degree)基函数很简单...

2019-04-27 15:10:57 4450 1

转载 B-spline Curves 学习之B样条基函数的定义与性质(2)

B-spline Basis Functions:Definition贝塞尔基函数用作权重。B-样条基函数也一样;但更复杂。但是它有两条贝塞尔基函数所没有的特性,即(1)定义域被节点细分(subdivided);(2) 基函数不是在整个区间非零。实际上,每个B样条基函数在附近一个子区间非零,因此,B-样条基函数相当“局部”。  设U是m+ 1个非递减数的集...

2019-04-27 14:51:17 4285 3

转载 B-spline Curves 学习之前言(1)

 B-spline Curves Notes  本 教程是关于B-样条曲线(B-spline Curves)的教程。B-样条曲线在计算机视觉(computer vision ),计算机图形学(Computer Graphics ),计算机辅助设计(Computer-Aided Design ),计算几何(Computational Geometry ),可视化(Visualization)等...

2019-04-27 13:20:34 990

原创 Qt creator 编译错误 :cannot find file .pro qt

其实问题的解决办法很简单:就是Qt不支持中文的路径,把源码的路径全部改成英文即可解决问题。首先问题发生在我运行网上的例子程序时,重新构建编译也是出错,提示:...

2019-04-26 11:08:01 571

转载 七段S形速度曲线轨迹规划

2019-04-07 14:37:50 20063 11

转载 T型速度曲线 S型速度曲线

我又发现以前的笔记被自己保存成了私密模式,难怪一开始找不到!目录0.速度曲线介绍1.梯形速度曲线2.S型速度曲线0.速度曲线介绍1.梯形速度曲线2.S型速度曲线参考:多自由度机器人位姿轨迹规划研究...

2019-04-04 16:50:44 7296

转载 机器人学 : 标准DH和改进DH

转载自知乎首先,标准的 DH 与改进的 DH 的区别就是四个参数的定义有些许不同,具体参数定义详见这里标准DH与改进DH的区别如图:标准(经典)DH是将连杆的坐标系固定在该连杆的输出端(下一关节),也即坐标系i-1与关节i对齐;改进DH是将连杆的坐标系固定在该连杆的输入端(同一关节),也即坐标系i-1与关节i-1对齐,因此他们对应的变换矩阵不同。...

2019-04-03 10:16:21 3337

原创 struct和typedef struct的区别

struct和typedef struct分三块来讲述:  1 首先://注意在C和C++里不同    在C中定义一个结构体类型要用typedef:    typedef struct Student    {    int a;    }Stu;    于是在声明变量的时候就可:Stu stu1;(如果没有typedef就必须用struct Student stu1;来声明)   ...

2019-02-27 09:05:16 133

转载 MFC中各字符串类型转换,字符串操作和UNICODE、ANSI字符集

一.CString与LPCWSTR    两者的不同:LPCWSTR 是Unicode字符串指针,初始化时串有多大,申请空间就有多大,以后存贮若超过则出现无法预料的结果,这是它与CString的不同之处。而CString是一个串类,内存空间类会自动管理。    CString转换成LPCWSTR    方法一:CString strFileName;                ...

2019-02-26 10:18:54 964

原创 github上下载资源 for windows

步骤:1. 下载git bash2. 在git bash 终端命令中输入资源所在的网址,如图:3. 在终端所在路径查看资源是否下载成功

2019-02-22 10:38:02 1189

转载 代码升级:从多字节到Unicode字符集

    十几年前,还是用VC++6.0开发,使用的是多字节字符集,字符串类型的变量一般用:char[], char*,const char*,CString。随着开发工具的更新,需求的变化,更高版本的系统需要使用Unicode字符集。旧代码的算法逻辑并没有什么问题,只是字符串参数类型和一些字符串操作函数需要修改一下,当然不必重写一遍,只需要对代码进行升级,从多字节字符第一步集升级到Unicode字...

2019-02-16 17:01:55 483

转载 在opencv3.0中的机器学习算法

在opencv3.0中,提供了一个ml.cpp的文件,这里面全是机器学习的算法,共提供了这么几种:1、正态贝叶斯:normal Bayessian classifier    2、K最近邻:k nearest neighbors classifier3、支持向量机:support vectors machine    4、决策树: decision tree5、ADA Boos...

2019-01-26 11:58:13 585

原创 opencv2\flann\lsh_table.h(266): error C2059: 语法错误:“::”

1. 错误输出    c:\program files\opencv-2.4.4\opencv\build\include\opencv2\flann\lsh_table.h(266): error C2059: 语法错误:“::”    ./zlibrary/ui/src/win32/w32widgets/W32VBorderBox.cpp(114) : error C2589: “(”...

2019-01-23 08:57:53 401

转载 学习Opencv2.4.9(四)---SVM支持向量机

先来看一下什么是SVM(支持向量机)1、SVM是一种训练机器学习的算法,可以用于解决分类和回归问题,同时还使用了一种称之为kernel trick(支持向量机的核函数)的技术进行数据的转换,然后再根据这些转换信息,在可能的输出之中找到一个最优的边界(超平面)。简单来说,就是做一些非常复杂的数据转换工作,然后根据预定义的标签或者输出进而计算出如何分离用户的数据。支持向量机方法是建立在统计学习理...

2019-01-22 13:44:48 594

原创 Lua学习笔记 -- Lua数据类型转换

Lua提供了类型转换函数,这些转换函数包括:转换成数字类型和转换成字符串类型等。1.转换成字符串类型tostring()可以将布尔类型和数字类型转换为字符串类型,示例:local bVar = falseprint( tostring(bVar) ) -- 输出"false"local num1 = 10local num2 = 10.0local num3 = ...

2019-01-14 10:44:29 2190

转载 Lua学习笔记 -- lua堆栈

首先了解一下C++与lua之间的通信: 假设在一个lua文件中有如下定义-- hello.lua文件myName = "beauty girl"请注意红色数字,代表通信顺序:1)  C++想获取Lua的myName字符串的值,所以它把myName放到Lua堆栈(栈顶),以便Lua能看到2)Lua从堆栈(栈顶)中获取myName,此时栈顶再次变为空3)Lua拿着这个m...

2019-01-12 15:15:40 803

转载 Lua学习 -- local变量和表

local在lua编程中经常写,lua对local的处理有加速访问的效果,并且将变量定义为局部变量也是一种好的编程习惯。lua对变量和表的local化处理的方式 是不同的============== example ===============foo = {}foo.a = 1;dolocal foo = foofoo.a = 2print(foo, _G["...

2019-01-12 11:49:09 2720

转载 Lua学习 -- Lua调用原理(Lua堆栈)

原文:https://blog.csdn.net/zhuzhuyule/article/details/41086745 一、Lua虚拟机的栈1.1先简单介绍下Lua虚拟机的栈,如图:                                                       规则:①若Lua虚拟机堆栈里有N个元素,则可以用 1 ~ N 从栈底向上索引,也可以用...

2019-01-12 11:24:24 764

转载 C++学习 -- string类详解

C++之string类型详解   之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够、字符串长度等等,而且作为一个泛型类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。   C++中对于...

2019-01-11 08:48:31 160

转载 编辑距离算法详解:Levenshtein Distance算法

Levenshtein Distance算法,又叫Edit Distance算法,是指两个字符串之间,由一个转成另一个所需要的最小 编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。一般来说,编辑距离越小,两个串的相似度越大。   算法基本原理:假设我们可以使用d[i,j]个步骤(可以用一个二维数组保存这个值),表示将串s[1...i]转换...

2019-01-10 16:33:55 12999

原创 Opencv RotatedRect类中的points、angle、width和height详解

在Opencv中的图像处理中,经常要用到minAreaRect()函数求最小外接矩形,该函数的返回值就是一个RotatedRect类对象。RotatedRect类定义如下:class CV_EXPORTS RotatedRect{public: //! various constructors RotatedRect(); RotatedRect(cons...

2019-01-08 13:36:56 2404

原创 Machine Learning -- SVM(支持向量机)通俗理解

SVM(支持向量机):支持向量机算法可以看作是逻辑回归算法的 强化:通过给予逻辑回归算法更严格的优化条件,支持向量机算法可以获得比逻辑回归更好的分类界线。通过和高斯核函数的结合,支持向量机可以表达出非常复杂的分类界线,从而达成很好的分类效果。"核"事实上就是一种特殊的函数,最典型的特征就是可以将低维的空间映射到高维空间。如下图所示:                       ...

2019-01-07 10:13:46 1285

转载 Machine Learning第十讲【大规模机器学习】

本部分主要包括如下内容:      Learning With Large Datasets (大数据集训练模型)      Stochastic Gradient Descent (随机梯度下降算法)      Mini-Batch Gradient Descent (小批量梯度下降算法)      Stochastic Gradient Descent Convergence ...

2019-01-04 13:45:41 210

转载 Machine Learning第九讲【推荐系统】-- (三)低秩矩阵分解

一、Vectorization: Low Rank Matric Factorization(向量化: 低秩矩阵分解)我们仍然使用之前movie的例子:将这些数据写成矩阵的形式,即右边的Y矩阵,又因为用户j对电影i的评分预测值为:因此Y矩阵对应的预测值应为:                                              我们记:      ...

2019-01-03 09:30:16 1022

转载 Machine Learning第九讲【推荐系统】-- (二)协同过滤

一、Collaborative Filtering(协同过滤)协同过滤能够自行学习所需要使用的特征。来看下面的例子:在之前讲的基于内容的推荐系统中,我们需要事先建立特征并知道特征值,这是比较困难的。假设我们某一用户的喜好,即假如Alice、Bob喜欢romance的电影,carol、Dave喜欢action的电影,则:                      就拿Alice来...

2019-01-02 16:00:09 152

转载 Machine Learning第九讲【推荐系统】--(一)基于内容的推荐系统

符号介绍:对于每一个用户j,假设我们已经通过学习找到参数,则用户j对电影i的评分预测值为:。 对于上面的例子:                                                       假设已知:                                   则Alice(j=1)对Cute pupies of lov...

2019-01-02 15:03:28 191

转载 Machine Learning第九讲【异常检测】-- (三)多元高斯分布

一、Multivariate Gaussian Distribution(多元高斯分布)数据中心例子: 因为上面的原因,会带来一些误差,因此我们引入了改良版的算法:我们不再单独地将p(x1),p(x2),p(x3)训练模型,而是将这些参数都放在一个模型里,下面用几张图形象的看一下高斯分布:图一:μ取在原点,改变的值 图二:μ取在原点,改变左下-右上方向的值。...

2019-01-02 13:37:47 454

转载 Machine Learning第九讲【异常检测】-- (二)创建一个异常检测系统

一、Developing and Evaluating an Anomaly Detection System(异常检测系统的衡量指标)对于某一算法,我们可以通过借助某些数字指标来衡量算法的好坏,仍旧以飞机引擎的例子来说:假设有10000个正常的引擎,20个有瑕疵的引擎(异常)我们将这些 引擎分为以下数据集:训练集:使用6000个正常的引擎(y=0) 交叉验证集:使用2000个正...

2019-01-02 10:11:22 335

转载 Machine Learning第九讲【异常检测】--(一)密度估计

一、Problem Motivation(问题引入)异常检测一般应用在非监督学习的问题上,如图,我们可以通过已知的数据集,训练模型根据此模型进行异常检测:在使用这些数据训练的过程中,我们假设这些数据是正常的。我们可以把异常检测应用在网站欺诈预测上,比如可以根据用户平时的打字速度,登录地点,登录时间,下单次数等预测是否用户登录情况异常等,也可以用于工业界或者根据CPU利用率,Me...

2018-12-29 16:40:48 1145

转载 Machine Learning第八讲【非监督学习】-- (四)PCA应用

一、Reconstruction from Compressed Representation(压缩特征的复原)本部分主要讲我们如何将已经压缩过的特征复原成原来的,如下图:左边的二维图是未缩减维数之前的情况,下面的一维图是利用缩减之后的情况,我们利用公式可以得到x的近似值,如右图,点全部在直线上,虽然有一定的误差, 但是是大致相等的。 二、Choosing the Number...

2018-12-29 13:32:04 271

转载 Machine Learning第八讲【非监督学习】--(三)主成分分析(PCA)

一、Principal Component Analysis Problem Formulation(主成分分析构思)首先来看一下PCA的基本原理:PCA会选择投影误差最小的一条线,由图中可以看出,当这条线是我们所求时,投影误差比较小,而投影误差比较大时,一定是这条线偏离最优直线。PCA的方向:从图上的分析,我们可能很疑惑PCA和线性回归如此地相似,那么两者是一回事吗?下面...

2018-12-29 11:50:28 282

转载 Machine Learning第八讲【非监督学习】-- (二)动因

一、Motivation I: Data Compression(动因I:数据压缩)下面是2个降维处理的实例:实例1:将cm和inch的2维数据降成1维数据:实例2:降3维数据降成2维数据:二、Motivation II: Visualization(动因II:可视化)对于数据集的可视化,假设数据集本身有n的feature,我们想要可视化这个数据集,则需要进行降维处理,...

2018-12-29 11:06:56 133

机器人学中轨迹规划算法

该源代码经本次测试后,可以正常运行。可以在MATLAB中实现机械臂的轨迹规划

2018-08-24

STM32中直流电机控制

程序经过本人测试成功,适用STM32控制器。程序可以成功控制直流电机的反正转和通过PWM波调节速度。

2018-08-24

STM32中SPI通讯

经过本人测试,程序可以正常运行,可以在STM32控制器上实现SPI的接收与发送。

2018-08-24

三维压力传感器的ADC采集

经过本人的测试,该程序可以正常运行,并能测出三维力传感器的压力值。本程序通过采集三维压力传感器的电压值,将电压值转换成数字量,控制器根据数字量可以知道此刻的压力值

2018-08-24

STM32中实现串口的DMA中断

经过本人的测试,该程序可以正常运行。程序中采用了DMA实现串口的中断。

2018-08-24

DSP控制步进电机

程序经过本人的验证,可以正常运行,能够通过PWM波控制步进电机的正反转,还可以实现调速。

2018-08-24

直流无刷电机控制算法

程序通过测试,可以正常运行。采用了PID算法实现了速度环和电流环控制。

2018-08-24

DSP中串口通讯

适用于DSP 28335芯片。该代码已经通过测试,可以实现串口的接收和发送。

2018-08-24

STM32中编码器脉冲捕获

程序可以实现正交编码器的脉冲捕获。可以识别编码器正反转。

2018-08-24

STM32中AD转换

该程序使用于模拟量转换成数字量的场合。可以将压力传感器输出的电压信号,转换成控制器可识别的数字信号

2018-08-24

使用信号量进行多任务同步

通过使用ucoslll中的信号量使得多任务同步,实现多个任务之前相互调用

2018-03-21

CAN通讯协议

CAN通讯

2017-08-15

NRF24L01无线通讯

NRF24L01无线通讯程序

2017-08-15

LWIP无操作系统移植

LWIP无操作系统移植

2017-07-02

大小端测试

STM32大小端测试

2017-07-02

UCOSIII的PWM任务的创建

UCOSIII的任务创建和删除

2017-06-15

空空如也

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

TA关注的人

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