自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (3)
  • 收藏
  • 关注

原创 用Python实现的PID控制算法的演示

看了看PID控制算法的原理,自己用Python的matplotlib简单写了一个控制小球到指定位置的小演示。如果小球不在指定的高度,就计算误差,再输入一个控制信号——这里是加速度a,以便驱动小球运动,从而改变小球的位置。不停的计算:计算高度误差,计算输出的信号——加速度a,计算新的速度,计算新高度。如果只考虑小球当前位置和指定高度的误差,始终会来回摆动,无法进入稳定状态。如果用到P...

2020-04-08 17:51:10 6621 3

原创 Python实现的LBP特征提取

# -*- coding: utf-8 -*-import cv2import numpy as npimport mathimport osimport matplotlib.pyplot as plt# 取得给定的LBP字符串的最小二进制值,实现旋转不变形def Rotate_LBP_Min(str_lbp_input): str_lbp_tmp = str_lbp_i...

2019-03-11 17:20:05 7169 2

原创 Python和tensorflow的一些常用代码

1.为数据增加维度# Price是一个1行5列的矩阵,注意列表是两层,表示是二维的:[ [] ]Price = np.array([[15.90, 16.26, 10.1, 19.19, 25.33]])# 生成的是一个1维矩阵mylist = np.array([1, 2, 3])# 在1维矩阵的基础上增加一个维度,成为2维矩阵mylist2 = mylist.[:, np....

2018-12-18 15:18:09 593

原创 Python写BP神经网络(二):带偏置的3层结构BPNN

理解了BP神经网络的原理,接下来实现一个比较正常的BP神经网络:3个输入节点,3个隐含层节点,2个输出节点。对Numpy不是很熟悉,看例子琢磨了好久,才做通,还是不错。一点体会:Numpy真是强。import numpy as np# --------------------------------------------# 激活函数# 当derive为True时,是对sigmoid函数求...

2018-05-25 17:57:04 2535 2

原创 利用Python写BP神经网络(一):无偏置的BPNN

第一个最简单的BPNN:包括3个输入层节点,3个隐含层节点,1个输出层节点。学习样本为5个,每次都把5个学习样本都学习一遍,直到学习次数达到预设的次数。每次学习都记录下误差(或者叫损失)。为了简单,隐含层和输出层暂时不考虑偏置,等下一次再考虑。训练了1000次,误差在0.05多些,然后损失就下降得很慢了,估计增加偏置后会好些。import numpy as np# --------------...

2018-05-22 22:12:50 1836

原创 入门——感知机训练

根据感知机学习规则,分类直线与权重向量正交。如果开始的分类直线计算出来的Yj与预期输出Dj之间有误差Ej=Dj-Yj,就应该把连接权重Wj的方向依据学习向量X调整。正误差时,Wj朝着X调整,因此,Wj(t+1)=Wj(t)+n*Ej*X.据此,在Python中实现最简单的逻辑与的感知机学习代码:import numpy as np#--------------------------------...

2018-05-11 14:42:21 1353

原创 C#4.5访问Access2010以上数据库

因为一个小应用要用到数据库,为了简单,就打算使用Access数据库。结果发现C#4.5不能直接访问.accdb的数据库了。按网络文章提示,到微软下了AccessDBEngine,更换了连接字符串:connectionString="Data Source=.\\xxx.accdb;Provider=Microsoft.ACE.OleDb.12.0" providerName="Microsoft....

2018-03-25 22:39:52 489

转载 Ubuntu 16.04.2 LTS安装nvidia显卡驱动

Ubuntu Nvidia 显卡驱动

2017-09-19 20:08:03 826 1

原创 用指向指针的指针对字符串进行排序

用指向指针的指针,对字符串进行排序。指向指针的指针,就是char ** pptr啦。pptr是一个指针,指向的地址内容存储的又是指向字符串的指针。因此,首先要为pptr分配内存,存放指针,可以申请一个连续的区域来存放多个指向字符串的指针。char ** pptr;//为5个指针分配地址pptr = (char**)malloc(5*sizeof(char*));//再依次为

2016-11-17 11:16:17 1562

原创 Ubuntu 14.04LTS升级提示/boot空间不足的解决办法

Ubuntu释放/boot空间

2016-05-26 14:51:09 2224

原创 [SCU2016年题]有两个已排序的单链表,合并问题

有两个单链表,已经按非减排序,要求完成两个链表的合并,也要非递减排序,并且不能使用除当前2个链表以外的存储空间。 其中,允许有重复元素存在。

2016-03-27 22:05:59 638

原创 查找子串substr()函数的实现——循环

实现查找子串的substr(char *s1, char *s2)函数。如果在s1中找到了s2,就返回位置;否则返回-1。int hjd_substr(char *s1, char *s2){ int nResult = -1; int i=0, j=0; while ((*(s1+i)!='\0')&&(*(s2+j)!='\0')) {

2016-03-24 19:39:44 817

原创 函数指针(之一)——在排序算法中的应用

C语言里函数指针的使用样例。

2016-03-23 23:17:58 363

原创 位操作——循环右移n位

把一个整数,循环右移n位,输出结果。循环右移的意思是,地位右移后出现在最左边。例如:1100 0101,循环右移2位后,得到 0111 0001,最高的2bit是'01',就是原来最低2bit。一个办法是循环来解决;还有一个直接的办法,把地位n个bit直接挪到高位去。此外,如果n很大,循环了1轮以上,那么只需要考虑n相对于位宽的余数。unsigned int rotate_

2016-03-21 17:50:00 4254

原创 求零幺字符串的最长子串的长度——利用状态图解决

一种字符串由字符‘0’和‘1’组成,没有其他字符,以‘\0’表示字符串结束,称这种字符串为“零幺串“。计算一个输入的”零幺串“中,最长的连续‘0’或连续’1‘的长度。例如:”01110001111101“的最长连续子串是1-子串,其长度为5。可以利用状态图来理清计算思路,如下图:预设有0状态和1状态。在0状态下:(1)如果读入的字符是’0‘,那么仍然留在0状态,并且

2016-03-21 16:14:24 797

原创 求2个字符串的最长公共子串——矩阵法

有2个字符串,求它们的最长的公共子串,不是公共子序列,要连续。    例如:str1=“abcabce",str2="bcacabcgef",那么最长的公共子串为”cabc“。    最直观的办法是用矩阵法,累计记录最长子串的长度和位置。int hjd_longest_common_substr(char *str1, char *str2, char *strresult){

2016-03-19 22:51:45 559

原创 改进版的从文本文件读取数据

找到一个比较通用的办法,从文本文件读取数据。

2016-03-16 22:53:16 354

原创 判断谁说真话,谁说假话

A,B,C,D,E共5个人围成一圈,每人头上戴了一顶帽子,帽子可能是黑色或白色。戴白帽子的人说真话,戴黑帽子的人说假话。A说:我看到3个人戴白帽子,1个人戴黑帽子;B说:我看到4个人戴黑帽子; C说:我看到1个人戴白帽子,3个人戴黑帽子;D说:我看到4个人戴白帽子。E什么话都没说。编程计算出这5个人谁戴白帽子、谁戴黑帽子。 【思路】戴白帽子算做1(真),戴黑帽子算做

2016-03-11 16:17:36 2861

原创 Raspberry Pi超声波测距样例

Raspberry Pi,也买了一块2B(这型号...)板子和一堆小器件慢慢摸索。先从比较简单的超声波测距模块开始弄。为了方便,把RPI的GPIO槽通过延长线接到专门的扩展槽,再插到面包板上,方便通过引线连接器件。使用的超生模块型号是HC-SR04,有4个引脚:VCC——供电;Trig——触发控制端;Echo——输出反馈端;GND——接地端。工作流程为:(1)给Tr

2016-03-11 11:15:42 1300

原创 从两个文件读数据,排序后输出到新文件

文件"A"和文件“B"分别已经存放有按照递增顺序排好序的小数,请将两个文件中的数据读出来写到文件”C"中,并同样按照递增顺序存入文件之中。目前想到的是设一个大数组,依次从A、B文件读入数据,然后对这个大数组排序,然后保存到C文件。有一点不满意的是,数组有尺寸限制。void bubble_sort(double *ar, int rcount);void resortToFi

2016-03-06 22:48:56 851

原创 比赛分组(二)——更通用的解法

两支乒乓球队进行比赛,各出3人,甲队有A、B、C三人,乙队有X、Y、Z三人。    A不跟X比赛,C不跟X或Z比赛。    请问应该如何分组?    思路:    前面用3个嵌套的循环来解决了问题。但是,假如参赛人数多了以后,嵌套的循环太深了。    尝试寻找更通用、简洁的办法——类似N皇后问题的解决思路,递归。    甲组可以依次固定,A先选择乙组的对手;然后B来选对手,

2016-03-04 18:24:24 464

原创 比赛分组问题(一)

两支乒乓球队进行比赛,各出3人,甲队有A、B、C三人,乙队有X、Y、Z三人。    A不跟X比赛,C不跟X或Z比赛。    请问应该如何分组?    思路:    A依次从乙队选对手(序号设为i);    B再依次从乙队选对手(序号设为j,这时A选过的对手不能再选,即 j!=i);    C再依次从乙队选对手(序号设为k,这时A、B选过的对手都不能再选,即 k!=i并且k!

2016-03-03 22:36:20 1011

原创 N只猴子选大王(用模拟过程的方法解决)

N只猴子,围成一圈,从1开始报数,数到M的猴子退出,最后剩下一只猴子就选为大王。此题是约瑟夫环问题,可以推导出公式答案。不过,也可以用模拟过程的方法来解决。首先定义猴子结点类型:typedef struct st_Monkey{    int SN;    struct st_Monkey * pNext;    struct st_Monkey * pPre;}C

2016-02-22 17:05:27 1379

原创 Ubuntu 14.04LTS修改显示分辨率

在虚拟机上安装了Ubuntu14.04LTS,但是始终在设置面板里找不到合适的分辨率。只有自己设置合适的显示分辨率了。1. 在字符终端先利用cvt命令探测出自定义分辨率的参数,如下:2.接着就利用检测出的参数新增一个显示模式,名称和参数必须一致。    如上图,显示模式的名称为“1400x860_60.00"。3. 然后再把新的显示模式增加到显示分辨率选择列表中:s

2016-02-17 16:27:09 2054

原创 N层楼梯上楼方式总数

有N层楼梯,每次只能上1层或2层,求一共有多少种上楼的方式。思路:最后一次上楼,可以是上1层,也可以是上2层,则F(N)=F(N-1) + F(N-2),类似斐波那契数列就很明显了。F(1)=1;F(2)=2.int F(int n){    if(n        return(0);    else if (n==1)        return(1

2016-02-15 16:59:49 665

原创 求一个字符串在另一个字符串中最右边的位置

还是K&R C语言书上的题。求一个字符串在另一个字符串中最右边的位置.

2016-02-14 18:02:51 815

原创 字符串替换-K&R C 题3-2

把字符串中制表符(‘\t')和换行符('\n')替换为字符串“\t”和“\n”。不难,但是要注意最后要把目标字符串尾部加上’\0'结束符。int main(void){    char *s = (char*)malloc(128);    strcpy(s, "Hello\tWorld. I'm a robot.\nNice to meet you.");    ch

2016-02-05 12:40:30 436

原创 递归把十六进制(字符串表示)转换称十进制数

递归把十六进制(字符串表示)转换称十进制数。

2016-02-01 16:04:17 2403

原创 KNN-分类算法的实现

KNN算法的实现

2016-01-28 23:19:39 615

原创 递归-N个不相同的元素,输出所有可能的排列

前一个日志解决了1-N个数字的排列。假如是N个不同元素的排列,就要用到2个数组,不能简单再用变量i来模拟了。    但是,解决问题的思路是一样的,还是在每个位置上遍历所有可能,判断能否放置该元素,然后向后移动,直到结尾。//判断B[pos]的元素在A[]中是否已经出现过int can_place_1(int *A, int *B, int j, int pos){    int

2016-01-11 18:36:13 714

原创 递归-解决遍历1-N的数排列输出

1,2,3,...,N,把每种排列都输出,一共有N!种排列。    例如:1,2,3,那么输出:    1 2 3    1 3 2    2 1 3    2 3 1    3 1 2    3 2 1#include #include #include int can_place(int *A, int i, int pos){ int res=

2016-01-07 17:44:44 612

原创 N皇后问题

八皇后问题是十九世纪著名数学家高斯于1850年提出的。问题是:在8*8的棋盘上摆放8个皇后,使其不能互相攻击,即任意的两个皇后不能处在同意行,同一列,或同意斜线上。    可以把八皇后问题拓展为n皇后问题,即在n*n的棋盘上摆放n个皇后,使其任意两个皇后都不能处于同一行、同一列或同一斜线上。    不用二维数组,就用一个一维数组A[N],A[0]=x0表示第一列皇后在第x0行,依次A[i]

2016-01-02 20:43:41 405

原创 求一条直线经过一个直角坐标系里m个点最多点的点数

typedef struct POINT{  double x;  double y;}Point;输入点数和各个点的坐标:void hjd_init_points(){ printf("please input the number of points:\n"); int nM=0, nPos=0; scanf("%d", &nM); Point

2015-11-08 15:43:31 521

原创 排序一:快速排序

快速排序是内部排序的一种,即数据保存在内存中,而非文件中。基本思想是以一个基准值(通常选第一个数据),通过一次扫描和移动数据,让基准值右边所有的数据(无序)都比基准值大,左边的数据(无序)都比基准值小。然后再用同样的方法扫描和移动两边的数据,直到最后2个数据为基本单位,按大小排列,最终完成整个数据序列的排序。以{3, 4, 2, 1, 6, 5, 9, 8, 7, 0}为例子。第一次扫

2015-10-05 12:27:00 352

原创 约瑟夫环问题

约瑟夫环问题是一个数学的应用问题:已知M个人(以编号1,2,3...M分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到N的那个人出列;他的下一个人又从1开始报数,数到N的那个人又出列;依此规律重复下去,直到圆桌周围的人只剩下一人。一、问题的来历  据说著名犹太历史学家 Josephus有过以下的故事:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞

2015-07-17 22:56:34 509

原创 有物品数量限制的背包问题

解决思路:利用递归,1...N个物品,每种有Amount[i]个,那么从第N个物品开始选择,选0个、...、Amount[i]个第N个物品,依次计算价值,找出最大的,返回。F(N) = max{ F(N-1, Lmt-n*Cost(n)) + n*Value(n), | n=0,..., Amount[i]}。#ifndef HJD_SNACKBACK_H_#define HJD_S

2015-07-17 20:38:34 4807

原创 Zigzag数组的初始化

zigzag数组初始化方法

2015-07-15 17:34:13 391

原创 递归---把一个整数反转处理

用递归来解决整数反转处理,只能增加一个参数 ,记录每次计算出的位数的阶。

2015-07-10 23:38:10 2353

原创 位操作(一)

int hjdfunc(int nX, int nY){    return(nX&nY+((nX^nY)>>1)));}问:hjdfunc(50, 70)返回多少?不能用笨办法,把50、70转成2进制。(nX+nY)/2,可以考虑成:(1)两个2进制数先把都是‘1’的位相加再除以2;(2)把不同的位上相加,即‘0’对应‘1’,然后再除以2;(3)前两部分相加,

2015-07-06 22:23:08 316

原创 C的复习题(01):反转整数

C语言一些常见考题解答。

2015-06-30 20:34:23 627

Captura录屏软件

一个很好用的录屏软件,支持快捷键自定义,主要还是不收费的。

2019-09-14

Telerik_UI_For_WinForms_2015_3_930_Dev

Telerik的名气就不用说了,一直在用。

2017-01-07

空空如也

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

TA关注的人

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