- 博客(208)
- 资源 (15)
- 收藏
- 关注
原创 【漫漫科研路\C&C++】Win10 + VS2017 + CUDA10.1 + CPLEX12.9 配置
Win10下搭建VS2017+CUDA10.1+CPLEX12.9开发环境想来已经有三、四年没有用过C/C++了,一直都是使用MATLAB进行算法的实现。相比于Chttps://www.ibm.com/products/ilog-cplex-optimization-studio...
2019-11-24 17:48:08 3946 12
原创 【漫漫科研路\Matlab】最小跳数最大权重算法
上周,实验室国际友人让我帮忙实现满足条件的最小跳数最大权重的算法。他的具体问题如下: 给定一个权重图(如下图所示),给出节点之间最小跳数最大权重矩阵,其中任意两点之间跳数小于等于3,否则权重为inf。 如图所示, A到B的最小跳数为2:A-C-B和A-D-B,权重分别为7、8。因此A到B的最小跳数最大权重为8,路径为A-D-B。下面给出了具体的代码实现: 主要有两个文件,测试脚本文件mai
2017-12-17 16:38:56 2090
原创 【漫漫科研路\pgfplots】子图的多种画法
在科研论文写作中,有时候为了横向、纵向对比或者节省空间,我们需要画子图,在MATLAB中可以通过subplot命令来实现。在Latex中有以下几种方法进行子图的绘制: - 使用subfig宏包(有可能与hyperref宏包冲突,推荐使用subcaption宏包),主要格式为: \begin{figure} \subfloat[]{} \subfloat[]{}\\ \subfloat[
2017-12-10 17:11:44 5937
原创 【漫漫科研路\pgfplots】多个子图共用一个图例
十月底,投完会议之后,便对科研写作方面遇到的问题进行了探索。问题主要有:问题:文献管理问题:在写论文的过程中,经常要引用他人文献,这时需要费时去寻找。另一方面,有时想要查看曾经读到的某篇文章提到的方法, 也需要去耗时去寻找。画图问题:怎样画出好看的图?解决方案:针对问题1: 使用JabRef针对问题2:使用Pgfplots后面我将会用一系列文章来记录JabRef和Pgfplots的常用使
2017-12-02 18:15:38 9532 1
原创 【漫漫科研路】序言
时间回溯到2015年中秋和国庆期间,那时还在为实验室十二五项目验收而通宵了一晚上。第二天上午结束验收,标志着我硕士生阶段就告一段落。 下午睡了几个小时便赶着火车去青海湖与小伙伴汇合。游玩归来,便开始了我的博士生阶段。 当时还思考了很多,还写了一篇对应的博文《遇见》。从此我便放弃了技术性博文的书写,至今已两年矣。时至今日,我将重新开始有关科研方面的写作,包括技术与非技术方面的。尽管两年来,我
2017-11-19 21:33:33 787
原创 【妄言之言】西南游记
“少不入川,老不出蜀” 三年前,去了趟甘肃:兰州—嘉峪关—敦煌,第一次看到了黄河,见识了天下第一关,体会了“大漠孤烟直、黄河落日圆”的意境。一年前,也是在国庆,环游了青海湖,感受了青藏高原的气候,享受着青海湖粗犷的美,自然的美,质朴的美。我曾经有一个梦想,游遍祖国的名山大川,感受自然界的美。如今梦想只实现了一点点,向着梦想前进,于是乎,便有了今年暑假的重庆、成都之旅。 去成都的原因大概
2016-09-14 21:30:52 1056
原创 【小白话通信】连续分布的产生
由于篇幅有限,前一篇文章中只讲述了用均匀分布产生离散分布的方法,那么本文接着讲如何利用均匀分布产生连续分布的方法。连续分布连续分布主要有以下几种:均匀分布 伽马分布 正态分布 贝塔分布 柯西分布 对数正态分布 双指数分布。产生各种连续分布的方法有很多,我把它分为两类:通用方法、特殊方法。特殊方法就是根据各个连续分布的特性而特有的方法。通用方法通用方法指的是对于各种连续分
2015-11-08 10:42:06 3936
原创 【妄言之言】遇见
东方欲晓,莫道君行早上学期期末的时候,小马哥就问我为什么没写个年中(终)总结。是的,我最近几年都养成了写一些总结性的话语,半年一次或一年一次。不过由于项目忙,暑假都没放,let alone有空闲写点东西。十一又和同学去青海湖玩了一圈,现在终于有时间静下心来写写了。22岁的我,作了一个比较2的决定,决定读22年书(希望不要延期,阿弥陀佛)。小学的时候,老师可能都问过长大后想做什么。很多人
2015-10-07 23:32:32 2114 3
原创 【Qt编程】基于Qt的词典开发系列<七>--调用网络API
前面文章中我们实现了本地的词库设计,可以完成本地的查词功能,那么这篇文章主要讲一讲如何通过调用网络的api来实现词典的网络查词功能。词典API的选择基本上市面上做词典软件的公司都有对应的api,比如说有道、金山等等,不过一般都需要api key,有点麻烦,于是乎,我就找了个简单好用的扇贝网API:http://www.shanbay.com/help/developer/api/ 奇怪的是,该api
2015-06-23 17:10:37 5453 2
原创 【Qt编程】基于Qt的词典开发系列<九>--JSON数据解析
在上一篇文章《用户登录及API调用的实现》中,我通过程序实现了用户登录及API调用的实现,从而能够实现网络查词、添词的操作。但是,从上文中可以看到,调用API后返回的是JSON格式的数据,如下图所示(在QtCreator中的显示): 为了更好的观察JSON格式,我整理后显示如下: 显然,为了显示查词的结果,我们必须在上图中提取有用的信息,并正确的显示出来。上图中每一行内容的意思我已经在
2015-06-23 17:05:05 3545
原创 【Qt编程】基于Qt的词典开发系列<八>--用户登录及API调用的实现
在上一篇文章《调用网络API》中,我只讲述了如何直观的使用API接口以及调用API后返回的结果,本文则从程序实现的角度来实现API的调用,当然本程序的实现也是借助于扇贝网的API接口文档http://www.shanbay.com/help/developer/api/。由API文档可知,要想调用其API,必须先注册。因此,我就注册了,账户名为nineheadedbird, 密码为1234
2015-06-23 16:23:06 5069 2
原创 【算法编程】小学数学题难倒博士
昨天在科学网上得知这样一个新闻《越南小学数学题难倒博士》,据悉题目来自越南保禄小学三年班,不过报道称该题难倒了上至博士下至家长,未免也太言过其实了。题目描述学生需要在下图表格中按由上至下、从左到右的顺序,填入1~9的数字,可重复填写,并按先乘除后加减(图中冒号代表除法)的运算法则,完成整条算式。 解题方法显然,这题对于我们这种程序员来说完全不是问题,只要在大一上过C语言的
2015-05-27 09:48:17 6448 8
原创 【单片机】基于有方GPRS的智能电梯控制系统
前一篇文章《时钟及温度的显示》中所介绍的作品,是作为一个单片机新手在暑假学了一个月的单片机之后,做的第一个综合性作品,涵盖了二极管、蜂鸣器、数码管、液晶屏、按键、时钟芯片、温度传感器的控制操作。做完这个之后,也没碰过单片机了。在大三开始的时候,由于和同学参加了一个由有方公司提供GPRS芯片的比赛,便开始重拾单片机,完成了下面这个作品,还获奖了。基于有方GPRS的智能电梯控制系统,名字感觉很高端
2015-05-22 16:07:09 3298 2
原创 【单片机】时钟及温度的显示
回头看我所写的文章,基本都是软件方面的,是个典型的“欺软怕硬”的人。然而,在最开始的时候,我学习的是硬件。在前面文章《我的2013–一起从心开始》一文中写道,我在大一暑假的时候开始了单片机的学习,在大二、大三期间做过些小东西。刚进入程序员的领域的时候,显然是单片机带我入了门。下面我将写写用单片机做过的一些东西,权当纪念。本文介绍我大一暑假学完单片机后,在大二上学期为参加学校星火杯而完成的作品(最终没
2015-05-21 20:25:09 7287 6
原创 【小白话通信】连续分布之间的关系
分布之间的关系1、多个独立同分布分布构成正态分布(林德伯格-列维(Lindeberg-Levy)定理) 2、 多个伯努利分布构成二项分布 任何二项分布B(n,p)B(n, p)都是nn次独立伯努利试验的和,每次试验成功的概率pp 3、几何分布是负二项分布的特殊形式 4、伽马分布与泊松分布的关系 假设X∼gamma(α,β),Y∼Poisson(x/β)X \sim gamma\
2015-05-19 17:29:02 5182
原创 【小白话通信】离散分布之间的关系
下面我给出一些分布之间的关系: 分布之间的关系 1、多个独立同分布分布构成正态分布(林德伯格-列维(Lindeberg-Levy)定理) 2、多个伯努利分布构成二项分布 任何二项分布B(n,p)都是nB(n, p)都是n次独立伯努利试验的和,每次试验成功的概率为pp 3、几何分布是负二项分布的特殊形式4、伽马分布与泊松分布的关系 假设X∼gamma(α,β
2015-05-15 12:33:17 2901
原创 【小白话通信】离散分布的生成
本文讲解的不是离散、连续分布的一些性质如:方差、期望和概率密度函数pdf(若为离散分布,则是概率质量函数pmf)等。本文要讲解的是如何通过均匀分布来产生其他各种分布的方法。尽管很多编程语言的函数库中包含了这些分布函数: 在matlab中,我们可以看到关于这些函数的详细文档及使用方法: 在linux C下,GNU有一个名字叫GUN Scientific Library的库,里面有各种分布函数
2015-05-09 11:35:32 3829
原创 【Matlab编程】哈夫曼编码的Matlab实现
在前年暑假的时候,用C实现了哈夫曼编译码的功能,见文章《哈夫曼树及编译码》。不过在通信仿真中,经常要使用到Matlab编程,所以为了方便起见,这里用Matlab实现的哈夫曼编码的功能。至于哈夫曼编译码的基本原理,我们可以参考之前的文章《哈夫曼树及编译码》,里面有详细的说明及图解过程。下面直接给出具体的Matlab实现的哈夫曼编码函数,由于程序中注释还算比较详细,在此就不予与说明:functio
2015-05-04 11:31:45 81075 19
原创 【Qt编程】基于Qt的词典开发系列<六>--界面美化设计
本文讲一讲界面设计,作品要面向用户,界面设计的好坏直接影响到用户的体验。现在的窗口设计基本都是扁平化的,你可以从window XP与window 8的窗口可以明显感觉出来。当然除了窗口本身的效果,窗口中各种控件的特效也是特别重要的一环。下面讲讲我在词典软件中的一些设计:说到界面美化的设计,不得不提到美工,一个好的美工是想当的重要!软件毕竟少不了图标,而不懂美工的我,也就只能在网上使用别人的图标了
2015-04-23 17:15:44 5121
原创 【Qt编程】基于Qt的词典开发系列<三>--开始菜单的设计
这篇文章讲讲如何实现开始菜单(或者称为主菜单)的设计。什么是开始菜单呢?我们拿常用的软件来用图例说明,大多数软件的开始菜单在左下角,如下图:1、window 7的开始菜单2、有道词典的主菜单3、QQ的开始菜单4、我写的词典软件的开始菜单当你左键单击开始菜单时,就会弹出相应的菜单选项,然后你就可以进行相关操作。本文只讲如何实
2015-04-17 17:43:31 3433
原创 【Qt编程】基于Qt的词典开发系列<二>--本地词典的设计
我设计的词典不仅可以实现在线查单词,而且一个重大特色就是具有丰富的本地词典库:我默认加入了八个类型的词典,如下所示:由于是本人是通信专业,因此加入了华为通信词典、电子工程词典,又由于我喜爱编程,也加入了c语言基本函数词典。下面介绍如何设计本地词典:词典类型的选择 当然是txt格式的最好了,因为我们可以用程序直接进行读取。可是网上词典一般都是用mdx格式、l
2015-04-13 17:36:05 6227
原创 【Qt编程】设计ColorBar颜色栏
画过图的都知道,我们常常用颜色的深浅来表示值的大小,在Matlab作图中,我们使用的是colorbar这个函数来给出颜色的直观参考。下面给出Matlab的示例:在Matlab命令窗口输入:figuresurf(peaks)colorbar可以得到的图像如下:通过右击该颜色栏,可以选择不同的颜色,当选择jet后,可以得到如下的图像:那上面的示例
2015-04-09 11:37:42 12354 3
原创 【妄言之言】清明
《清明感怀》泉台赴会数余年,音容笑貌伴吾眠,转眼又到清明节,谣寄相思到九泉。昨天是清明节,也是复活节。清明节我是知道的,就是祭祖扫墓的日子。复活节我就听说过,谷歌了一下:复活节是西方基督教徒纪念他们的上帝之子耶稣死后三天复活的节日,一个纯粹的宗教节日,象征重生与希望。比较有趣的是,今年中国的清明节与西方的复活节意外相遇,而去年中国的元宵节与西方的情人节不期而至。想想,这两两节日
2015-04-06 11:28:13 1360
原创 【Qt编程】基于Qt的词典开发系列<一>--词典框架设计及成品展示
去年暑假的时候,作为学习Qt的实战,我写了一个名为《我爱查词典》的词典软件。后来由于导师项目及上课等原因,时间不足,所以该软件的部分功能欠缺,性能有待改善。这学期重新拿出来看时,又有很多东西都不熟悉了。恰逢这学期课比较少,于是乎想写写关于这个软件制作的一系列文章,对日后重拾该软件时能够较快入手。当然,也非常乐意读者们在该软件的基础上添加一些功能,源代码会在该系列文章写完之后公布。可运行的词典软件的
2015-03-31 09:15:11 5152
原创 【妄言之言】考研
对于一个没有考过研的人来说,谈考研好像有点不着边际。正如韩寒导演的电影《后会无期》中的一句台词:你连世界都没观过,哪来的世界观。不过古语有云:当局者迷,旁观者清。我就以一个旁观者的身份来谈谈考研。(以下内容都是我本人的观点,与我本人无关--皆为自己的妄言之言) 为什么要说考研呢?毕竟考研已经过了几个月的。因为这一周应该是复试周,很多学校都陆续开始了复试。最明显的感觉就是自习室的
2015-03-28 21:20:17 1410
原创 【算法导论】八皇后问题的算法实现(C、MATLAB、Python版)
八皇后问题是一道经典的回溯问题。问题描述如下:皇后可以在横、竖、斜线上不限步数地吃掉其他棋子。如何将8个皇后放在棋盘上(有8*8个方格),使它们谁也不能被吃掉? 看到这个问题,最容易想到的就是遍历穷举法,不过仔细一想,思路虽然非常清晰,但是需要遍历次数太多,时间复杂度很高。那么,我们应该怎么办呢?下面给出算法思路: 算法思想:首先尝试在第一行放置第一个皇后,
2015-03-26 12:41:26 6602 3
原创 【算法导论】矩阵乘法
离过年都不到十天了,还要等到这周五才能回家,想想也一年没回家了。从寒假开始到现在,已经有二十来天,这期间把2014年总结中的寒假计划也大多数完成了:The Element Of Style的阅读,三门数学课《随机过程》、《工程优化》、《数值分析》的算法实现。回家过年期间肯定不会写博客了,今天一看,这个月只写了三篇,于是乎今天必须再写一篇来完成这个月的基本工作量。言归正传,这篇文章写写选修课《算法设
2015-02-11 11:38:17 2141
原创 【工程优化】最优化算法--牛顿法、阻尼牛顿法及单纯形法
牛顿法 使用条件:目标函数具有二阶导数,且海塞矩阵正定。 优缺点: 收敛速度快、计算量大、很依赖初始点的选择。 算法的基本步骤: 由上面的步骤可得基本的算法流程图:
2015-02-09 11:53:03 7618
原创 【工程优化】一维搜索方法
一维搜索方法的分类如下:这篇文章主要讲解黄金分割法、二分法、牛顿法这三种一维搜索方法。黄金分割法只用到原函数,二分法用到函数的一阶导,牛顿法用到函数的二阶导。由于本文主要对研一上学期的课程中的部分算法进行程序实现,理论部分大多参考上课的课件。黄金分割法: 基本概念:算法思想:算法流程图及优缺点
2015-02-04 17:14:04 3835
原创 【数值分析】复化积分公式
对于积分:只要找到被积公式的原函数F(x),利用牛顿莱普利兹公式有:但是,实际使用这种求积分的方法往往是有困难的,因为大量的被积函数的原函数是不能用初等函数表示的;另外,当f(x)是由测量或数值计算给出的一张数据表时,牛顿莱普利兹公式也无法直接运用,因此有必要研究积分的数值计算问题。 对于一些理论的推导,大家可以看看维基百科,下面我主要给出牛顿-科特斯公式在n
2015-02-02 11:00:57 25961 3
原创 【随机过程】马氏链的理论与仿真
在2014年终总结中,我提到要对这学期学过的数学课中的部分算法进行仿真实现。《数值分析》和《工程优化》这两门数学课里面还有些专门讲算法的,可以用来仿真。在《随机过程》这门课中,几乎全都是公式推导,定理证明,实在难以仿真实现。最后发现,马尔科夫链这一章比较适合仿真,况且先前也写过类似的程序,更重要的是之前有人也问过关于马氏链的Matlab实现问题。关于马氏链的理论原理在这就不作描述,下面直接用程序来
2015-01-27 09:52:48 3657
原创 【数值分析】拉格朗日插值与牛顿插值
在工程应用和科学研究中,经常要研究变量之间的关系y=f(x)。但对于函数f(x),常常得不到一个具体的解析表达式,它可能是通过观测或实验得到的一组数据(x,f(x)),x为一向量;或则是解析表达式非常复杂,不便于计算和使用。因此我们需要寻找一个计算比较简单的函数S(x)近似代替f(x),并使得S(x)=f(x),这种方法就称为插值法。常用的插值法有: 一维插值法:拉格朗
2015-01-22 20:30:08 19692
原创 【数值分析】误差的分析与减少及Matlab解线性方程的四种方法
1、误差的来源 模型误差:数学模型与实际问题之间的误差 观测误差:测量数据与实际数据的误差 方法误差:数学模型的精确解与数值方法得到的数值解之间的误差:例如 舍入误差:对数据进行四舍五入后产生的误差2、减少误差的几种方法 现在,我们一般用计算机解决计算问题,使用最多的是Matlab软件。对实际问
2015-01-20 20:19:00 14446 1
原创 【生活随笔】Introspection of my life in 2014
2014年已过去两星期,有写年度总结的必要了。今天特意看了看去年1月5日写的2013年度总结,看看都有些什么变化。我发现每年作一次总结是很有必要的,无赖恰逢考试周,连元旦都不能好好过,更不用说写写文章了。 这一年是转折的一年:从本科变成了研究生,从学长又退化成学弟了,从新校区来到了老校区,送走了四年的老同学,也引来了新同学。时间都去哪了呢? 上半年,每天和鬼王、普哥
2015-01-16 12:44:58 2485 2
原创 【Qt编程】基于QWT的曲线绘制及图例显示操作
在《QWT在QtCreator中的安装与使用》一文中,我们完成了QWT的安装,这篇文章我们讲讲基础曲线的绘制功能。 首先,我们新建一个Qt应用程序,然后一路默认即可。这时,你会发现总共有:mainwindow.h,mainwindow.cpp,main.cpp,mainwindow.ui四个文件。然后,选中项目,添加新文件,添加一个c++类,我们假设命名为PlotLines,基类选择Qw
2014-12-13 16:46:42 21752 3
多种插值算法Matlab实现--数学建模
2015-01-22
数学建模 常用算法matlab实现
2013-08-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人