- 博客(20)
- 资源 (20)
- 收藏
- 关注
原创 讲清迪杰斯特拉(DIJKSTRA)算法,附python代码
最近有个同事问我迪杰斯特拉算法,以前都是直接用,三个循环体直接一套就出来,具体逻辑懒得去理解,这次被问到,就花了点时间理了理算法的底层逻辑。---------迪杰斯特拉算法是搜索出所有点到起点的最短距离。怎么找?第一步,找出距离V0最近距离的点,设为V2。(显然此时V2的最短路径已经找到,就是V2直达路径。)第二步,以V2为中转点mid_Node,用m替代第三步,比较Lx0和LXm+Lm0的大小,令cost[X]=min(Lx0,LXm+Lm0),即找到了点x到0的更短路径,并更新进
2020-05-18 21:24:09
3805
2
原创 AD16原理图库加封装报Footprint not found
用AltiumDesigner16画原理图库加封装的时候,出现Footprint not found在库里找到需要的封装确定后再点确定发现没预览,而且报了个footprint not found:解决方法是在刚刚的界面里添加一下库,因为这个封装实际是直接借用刚刚那个库里的,因为刚刚的封装是调用AD提供的通用器件库,所以这里添加Device库:加进来后可以看到预览了:这样就完整添加封装了,可以直接在...
2018-07-02 12:56:50
42845
3
原创 Microchip/dspic30F系列单片机 官方例程编译报错的解决方法
最近在弄dspic30f系列单片机的电机控制器,下了几个官方例程编译之后报一堆错误:看了一下编译提示,是部分代码未定义,看了下官方论坛,是因为老版本代码,新版本已经迭代了,所以无法识别。例程是2007年左右的代码,现在的最新编译器已经到X版了;解决方法:打开main.c文件,找到这几行配置代码,都是关于时钟、看门狗一类的,用的都是老配置方法,新版本编译器已经不认了。将上面的代码都注释掉,使用新的配...
2018-05-25 17:24:38
2204
原创 PICkit4 烧写、仿真时获取ID失败 Reception on endpoint 129 failed
工作太忙,很久没写文章了。 最近在做BLDC无传感器控制器,用的microchip的DSPIC30F4011 16位单片机,焊了一个核心板。目前主流的烧写工具是pickit3,有钱的用ICD,基本也是公司给配的。 图方便,淘宝上弄了一个盗版的pickit3,¥58。到手了完全不能仿真,只能烧程序。¥60说多不多,说少也不少。找客服,根本不给处理,还给我截了图辩解宝贝详情里用很小号的黑字写不...
2018-04-29 17:25:46
6825
1
原创 PMSM控制01-在MATLAB/sinmulink仿真实现-计时器比较法输出SVPWM波形
由于本人转入新能源汽车电机控制行业,因此日后会陆续更新汽车电机、控制器、控制算法、电路等的文章。当然别的DIY文章也会继续更,工作、兴趣、生活,该有的都得有。以下正文:simulink中实现计时器比较法输出SVPWM控制波形:计时器比较法是控制中常用的算法,在DSP中基本都使用此算法输出SVPWM,因为与硬件原理相适用,这也是为后续在硬件上实现DSP控制做铺垫。
2017-12-08 11:41:23
3642
1
原创 20171115晚写的记事
毕业上班已半年,机缘巧合中进入了新能源汽车电机控制行业,有好有坏有惊喜也有失望。也不知道从哪里冒出来的一句话:“凡事都有好有坏,人之所以会悲伤,是因为只看到了坏的一面而没有看到好的一面。”于是很多不开心的时候,想想这句话,再想想不愉快的事对我其实也是有好处的,比如1....2....。生活会有过不去的坎,但是绝不是这些。进这个部门3月有余,一同进来的多是985,211的硕士,我不是电机电控
2017-11-15 13:27:41
381
原创 安卓机取消beta版系统,退回稳定版,以android8.1beta退回android8.0为例。
相信很多机友和我一样喜欢尝鲜,申请了google的beta计划,可以直接通过OTA升级最新beta版系统。然而beta版系统稳定性差别很大,如之前7.0beta就比这次8.1beta好很多,8.1beta问题很大,就目前看来,(我用的nexus6P)BUG:1.淘宝开不了2.打电话莫名无声,重启才能恢复3.自动重启bug影响很大,看了下谷歌官方消息要12月才推出8.
2017-11-07 10:48:14
5694
原创 给笔记本添加第二块显示屏
最近忙着赶论文,但是又喜欢看电影,笔记本同时开word看电影实在太挤,看着难受。于是想起以前玩树莓派的一块7寸屏幕,打算拓展成笔记本的第二块显示屏。很简单,完工后如下。外接的显示屏实际是笔记本屏幕右边延伸的屏幕,接线很简单,一个供电,一个HDMI线,或者串口线也可。笔记本端有时候需要设置一下,进分辨率设置,插入HDMI线或串口线后,会提示有第二块屏幕。把多屏选项设置
2017-05-10 14:26:16
8891
1
原创 3D打印机杂谈
接触3D打印机也有一年多了,3D打印机说实话只是一个很不错的工具。从最初到现在也接触过3部打印机了。一部是硕大的三角洲结构,一部是1300买来的小巧的DUY组装机,效果不错。这个是买来的,后来放了几个月,官方的主板坏了。于是自己用arduino+ramps1.4替换了,修复了这个打印机。挺好用。下面这个是看到老外做的一个可折叠打印机,叫foldarap,挺有意思。折腾这个打
2017-05-07 20:22:33
814
原创 开源一个四足机器人
一、前言玩过很长一段时间单片机,一直想接触Arduino系列板子,这次如愿以偿。用去年自己3D打印机打的机器人外壳,Arduino UNO R3+舵机控制板,做的一个四足机器人。二、爬过的坑不得不承认Arduino确是个好东西,开发速度极快,极易上手。从开始动手到完成,只持续了3天不到,测试。调代码。封装。 整个过程里一开始就感觉会头疼的就是机器人的步态,因为之前也没接触过。实际操作起来比想象中容
2017-03-22 20:21:55
39264
19
原创 爬虫项目(二)用phantomjs做爬虫
这几天有事没怎么研究,最开始用的java爬虫想爬取携程,结果失败告终。主要表现在:1.抓取不到对应的标签,jsoup语法对应的element个数是0,推测是因为直接用get方法获取机票信息时,该网站不显示和价格信息有关的elemengt,故抓取不到。2.抓取到的数据是错误的。价格和真正标价的相去甚远。据说qunar和xiecheng之类的网站在反爬虫上下了些功夫。为了达到目标我也进
2017-02-11 00:10:14
9067
原创 MATLAB学习笔记06——无约束一维极值问题(三)优化工具箱及工具箱函数fminbnd的改进
利用工具箱求解一、fminbnd函数fminbnd函数用法[x,fval,exitflag,output]=fminbnd(fun,x1,x2,option);x:极小值点,fval:目标函数极小值,exitflag:返回优化失败或成功(1:成功,0:到达最大迭代次数,-1因自定义函数退出,-2边界条件不协调(x1>x2)),output:返回求解信息中迭代次数、使用的算法等。
2016-08-22 14:46:16
3041
原创 MATLAB学习笔记05——无约束一维极值问题(二)斐波那契法、基本牛顿法和全局牛顿法
一、斐波那契法1.斐波那契法与黄金分割法不同的是,黄金是单向缩小区间的算法,斐波那契是双向收缩。斐波那契数列指的是 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368。第三项开始,每一项为前两个数的和。2.算法步骤:1.Fn
2016-08-21 20:52:33
2796
原创 MATLAB学习笔记04——画图命令整理
1.figure(1)、figure(2)...figure(n)打开绘图窗口n。2.subplot(m,n,p)分割绘图窗口的指令,m,代表行数,n列数,p用于激活绘图区域,即选择第几个分割的小区域绘图。二、坐标轴相关指令1.axis([xmin xmax ymin ymax]);给定x、y轴的最大值。2.axis equal x、y轴的长
2016-08-20 20:08:09
756
原创 MATLAB学习笔记03——无约束一维极值问题(一)进退法和黄金分割法
无约束一维极值问题求解时一般采用一维搜索法,,其中方法包括多种,线性搜索:黄金分割、斐波那契法、牛顿法等,非线性包括抛物线法和三次插值法。进退法是一种缩小极值区间的算法,算出的结果是一个包含极值的区间,适用于未知极值范围的情况下。黄金分割法适用于在知道极值区间的前提下,利用不断缩小区间的思想,最终得出极值的近似值。两种算法相辅相成。后续文章会介绍更多求极值算法。1.进退法
2016-08-20 20:07:29
4307
原创 MATLAB学习笔记02——优化算法工具箱
求解线性问题优化工具箱GUI界面注解option注解求解器的选择1.无约束优化(fminun、fminsearch)2.约束优化(fmincon)3.非线性最小二乘优化(lsqnonlin)采用信赖域反射法可以选择自变量上下界,其他则不能4.线性规划(linprog)5.智能算法(GA)
2016-08-20 20:04:46
6473
1
原创 MATLAB学习笔记01——基本命令和矩阵
填写图片摘要(选填)matlab2016中的工具箱被命名为应用程序,英文名为app,在应用程序下有原版的各种常用工具箱。工作空间常用命令:who;显示所有变量whos:列出变量所有信息size(a):获取向量a的行数和列数length(a):获取向量a长度,若a为矩阵则列出行数最大值存储命令:save:存储变
2016-08-20 19:55:54
1813
simulink中的SVPWM仿真模型文件及m代码
2017-12-08
MATLAB模型文件-永磁同步电机变频调速系统控制-袁登科版
2017-12-04
四足机器人源码
2017-09-01
ISO26262-6 中文版内部资料
2017-09-01
树莓派2液晶屏显示配置config文件(所有系统通用)
2017-01-12
MultiWii EZ-GUI 安卓版
2015-08-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人