自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Windows Service编程

Abstract  本文主要介绍 Windows service 的编程模式和 SCM 的相关功能。Content基础知识What is Windows ServiceSCMService ProgramsEvent Trace for Windows关键函数Service Entry PointServiceMainService Control Handler...

2019-02-26 19:38:16 3152

原创 《Windows驱动开发技术详解》学习笔记

Abstract  如果推荐 Windows 驱动开发的入门书,我强烈推荐《Windows驱动开发技术详解》。但是由于成书的时间较早,该书中提到的很多工具和环境都已不可用或找不到,而本文搜集了大部分的工具,并在 win10X64 上安装开发环境,在 win7x86 上进行实验,趟过了不少实际编译和测试中遇到的坑。此外,本文也对相关章节的重点进行了总结,全文目录如下:全书导读开发和调试驱...

2019-02-13 17:34:19 20817 3

原创 快速入门“正则表达式”

目录导读正则表达式的设计哲学设计哲学一:设计哲学二:设计哲学三:设计哲学四:正则表达式规则树正则表达式速查导读  像大多数的数学表达式一样,正则表达式也是一个中很“反人性”的表达式,相信很多人看正则表达式跟看天书一样,即使学习和使用过正则表达式,也很快就忘了它的规则。而本文的目的就是让普通人能够轻松快速地了解正则表达式,并把握正则表达式的设计哲学,不会那么容易就忘记。  注意,为简单起见,本...

2018-11-09 13:44:45 583

转载 Some Basic and Inefficient Prime Number Generating Algorithms

转载一篇素数生成算法文章: https://en.wikibooks.org/wiki/Some_Basic_and_Inefficient_Prime_Number_Generating_Algorithms

2018-04-12 15:48:20 662

原创 单词接龙

  最近碰到了一个比较有意思的算法题 —— 单次接龙,我尝试做了一下,虽然能解,但是时间复杂度让我很不满意,于是google了网友的解法,找到一个比较满意的算法 —— 链接,作者是用JAVA实现的,我在此将它转换为C++实现。  问题描述   拉姆刚开始学习英文单词,对单词排序很感兴趣。如果给拉姆一组单词,他能够迅速确定是否可以将这些单词排列在一个列表中,使得该列表中任何单词的...

2018-03-28 17:06:51 2325

原创 杨辉三角形生成器

《程序员的数学》通过“杨辉三角形”(Pascal’s Triangle)的演示了一种“从复杂问题中发现隐含递归结构”的方法:1)从整体中隐去部分问题;2)判断剩余部分是否和整体问题是同类问题。通过这种方法可以很好的解释“为什么杨辉三角形中会出现组合数”。   《程序员的数学》只是揭开了“杨辉三角形”神秘的一角:相邻两数之和、阶乘、路径选择、组合数。除了这些,MathisFun - Pascal’

2018-02-05 11:16:53 2254

原创 从“汉诺塔”看递归算法

递归算法是《数据结构与算法》中最简洁的算法之一,它可以非常简明地描述“减而治之”(decrease and conquer)和“分而治之”(divide and conquer)这两种算法思想。递归算法虽然从代码角度来看非常简单,但对于新手理解起来却不那么简单。本文我将结合《数据结构与算法》的专业描述和《程序员的数学》的通俗描述,并以“汉诺塔”为例来讲解我对“递归”算法的理解,并给出 Python

2018-02-01 14:21:56 982

原创 VirtualBox 扩展 ubuntu根目录磁盘大小

本文主要分享一种简单快速的扩展 virtualbox 虚拟机下 ubuntu 系统根目录磁盘大小的方法,也可以推广到 vm 虚拟机和windows client 系统。   整个过程可以分为两个大的步骤: - vboxmanager 扩展虚拟机磁盘(xxx.vid)大小 - gparted 将新增的空间分配给主分区(sda) 一、扩展虚拟机磁盘(xxx.vid)大小   主要使用

2018-01-11 17:36:02 3554

原创 2018,突破自我

2018年来了,零零后都要开始一批批跨越18岁,进入成年人的世界了。作为一个80后,在这新年上班的第一天,我必须得让自己保持“奋斗者”的状态,不断超越自己,不至于被这个时代落下。2017的技术收获  在开启新的“征程”之前,我需要先回顾一下上一年在技术上和学习上的收获和不足。整体来说,2017年我的技术上是有很大的突破的,特别是眼界和心态上——我不再把自己局限为一个C++程序员,甚至不再局限于技术,

2018-01-02 17:31:02 1412 2

原创 Django学习资源帖

本文分享一些比较优秀的Django学习资源链接,方便大家学习和查询。后续发现新的资源,将不断更新。 一、Django 官网  Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced

2017-12-22 10:08:47 4314

原创 OpenWrt 开发 (二) 搭建开发环境

本文主要介绍如何搭建 OpenWrt 的开发环境,大部分资源都来自网络,你可以将它看成是一个资源整理帖,节省搜索时间。OpenWrt 开发环境的搭建大致分为以下几步: - 安装虚拟机 - 安装 Linux-ubuntu 系统 - 安装和检查编译环境 - 下载 OpenWrt 源码 - 编译 - 部署 参考资源: - Ubuntu 使用Openwrt SDK交叉编译ipk包

2017-12-18 15:19:05 1657

原创 OpenWrt开发(一)序

最近接触了一个Linux嵌入式设备开发的项目——MESH网络设备开发。它是基于“OpenWrt”这个Linux发行版本进行开发,为此,我将在项目的开发过程,撰写一系列博客,记录学习的知识和开发要点。本文是这一系列博客的第一篇,主要分享项目开发中的各种学习资源链接,后续会持续更新。 一、OpenWrt  关于OpenWrt的入门,大致找到如下一些资源: - 官网链接 - 快

2017-12-18 10:38:06 1986

原创 Pyinstaller打包matplotlib error总结

最近用python写了一个小程序,实现:读取txt或csv文件中的数据,按列将数据画成曲线图。原本很简单的一个程序(源码见文末),在打包时,由于包含了matplotlib,折腾了大半天才搞定,特此分享一下经验。1,pyinstaller打包  关于pyinstaller打包,除了pyinstaller manual之外,还可以可以参考我之前的博文——Pyinstaller程序打包。本文中用的打包命令

2017-11-06 15:04:25 12976 2

原创 用Python学《微积分B》(重积分)

重积分(Multiple Integral)是指不止一个积分变量的积分,其中 R2R^2 空间的积分称为二重积分,而 R3R^3 空间的积分称为三重积分。关于二重积分和三重积分,可以参考“Paul online math”,它对重积分的内容讲述的比较简单明了。 一、二重积分 1,二重积分的概念   前面在讲一元函数定积分时,就指出:定积分实际上是“Riemann和”。对于一元函数定积分

2017-11-03 14:34:50 1734

原创 用Python学《微积分B》(多元微分学的几何应用)

多元函数微分学的几何应用主要是讲述空间向量与微分学的融合,包括:空间曲线的切线和空间曲面的切平面。如果将本文和之前的“空间向量”一文结合起来看,你会发现多元函数微分学与空间向量结合后的神奇。 一、空间曲线的切线 1,空间曲线的参数方程   在“空间向量”一文中提到:空间曲线可以看作是两个空间曲面的交线,可以用一个方程组来描述 {F(x,y,z)=0G(x,y,z)=0\left\{\

2017-11-01 13:23:37 1129 1

原创 Qt资源帖

1,官网 https://www.qt.io/2,开发者文档 http://doc.qt.io/3,官方demo解析 https://www.kancloud.cn/cloudcastle/qt5-demo/109863

2017-11-01 08:56:23 579

原创 用Python学《微积分B》(多元函数Taylor公式)

从一元微分到多元微分,主要把握这两点差异:一是导数变偏导数,二是叠加。从向量的角度来看,更容易理解:导数(偏导数)表征的是变化率,一元函数导数表示的是一个维度上的变化率,而多元函数导数表示的多个维度变化率,它等于各个分量(维度)上的变化率(偏导数)的叠加。循着这个原则,我们来看一下多元函数的Taylor公式展开。 一、Taylor’s theorem in 1D   先来回顾一下一元函数

2017-10-31 09:03:37 2136

原创 梯度向量与梯度下降法

最近非常热门的“深度学习”领域,用到了一种名为“梯度下降法”的算法。梯度下降法是机器学习中常用的一种方法,它主要用于快速找到“最小误差”(the minimum error)。要掌握“梯度下降法”,就需要先搞清楚什么是“梯度”,本文将从这些基本概念:方向导数(directional derivative)与偏导数、梯度(gradient)、梯度向量(gradient vector)等出发,带您领略“

2017-10-27 15:37:16 15935 2

原创 用Python学《微积分B》(微分法)

本节主要介绍多元函数导数(微分)的计算方法,包括:多元复合函数求导法则、多元隐函数求导、多元隐函数组求导三个子话题。 一、多元复合函数链导法 1,一元复合函数“链导法”   回顾一下,一元复合函数求导的方法 —— “链导法”(chain rule): y=f(u),u=g(x)⇒dydx=dydu⋅dgdxy = f(u),\;u=g(x) \; \Rightarrow \; \frac

2017-10-25 15:29:03 1688

原创 用Python学《微积分B》(多元函数的微分)

多元函数的微分包括“偏导数”和“全微分”,而“全微分”在满足一定条件时,通过“偏导数”的叠加来表示。这种叠加可以让人联想到“空间向量”与“直角坐标系”的各个分量之间的叠加。   偏导数(Partial Derivative)内容相对简单,主要包括:偏导数与全微分(全导数-total derivative)的关系、多元函数偏导数与一元函数的导数的关系、偏导数的标记法、偏导数的几何意义、高阶偏导数、混

2017-10-24 11:04:03 3503

原创 用Python学《微积分B》(多元函数的极限)

先回顾一下“一元微分学”部分的知识链:数轴 -> 数列 -> 数列的收敛 -> (不等式)数列的极限 -> 一元函数的极限 -> 一元函数的连续性 -> 一致连续 -> 导数 -> 微分。   从上面的链条可以看出:数列是一维空间(数轴)的、离散的研究对象;而函数二维空间(平面)的、连续的研究对象。而多元函数微积分(Multivarialbe Calculus)是对之前“一元微分学”的维度扩展。

2017-10-23 13:30:28 3113

原创 用Python学《微积分B》(空间向量)

Math is fun对向量(vector)及其运算讲解的非常形象易懂 ,轻松的扫完这篇文章及其相关链接,对于向量也就了然于心啦。 一、向量 1,向量的定义和性质   1)幅度(模)- magnitutide   2)方向(方向角)- direction   3)方向角与方向余弦 - 向量与坐标轴的夹角称为方向角 (cosα,cosβ,cosγ)=(x|r→|,y|r→|,z|r

2017-10-17 09:45:33 1517

原创 用Python学《微积分B》(微分方程)

什么是微分方程(Differential Equation)?微分方程有什么用?如何解微分方程?这是本节需要重点理解的问题。 一、微分方程简介   除了wiki,在math is fun上搜索“differential equation”,可以找到几个关于“微分方程”的话题。这些话题对微分方程的介绍非常有趣,在此借用它们来阐述我对微分方程的理解。 1,什么是微分方程   联系函数及其

2017-10-12 10:57:48 2360

原创 用Python学《微积分B》(Fourier级数)

除了“幂级数”,另一类非常重要的函数项级数级数就是“三角(函数)级数”(trigonometric series)。《微积分B》第8-6节主要介绍:什么是三角级数?三角函数系的正交性?三角级数与Fourier级数的关系?函数如何进行Fourier级数展开?Fourier级数的收敛条件?正弦级数(余弦级数)与函数奇偶性的关系?一般周期函数的Fourier级数展开? 一、三角级数   顾名思

2017-09-30 15:23:57 2580

原创 用Python学《微积分B》(函数项级数)

函数项级数(Series of Functions),借用WIKI上的定义:   In calculus, a function series is a series, where the summands are not just real or complex numbers but functions.Examples of function series include power ser

2017-09-28 15:30:46 3234

原创 用Python学《微积分B》(常数项级数)

“级数”(Series)是什么?“级数”有什么用处?“级数”与微积分有什么联系?带着这几个问题,本文将从通俗的角度来谈谈我对“级数”的理解,并进行一些知识扩展,最后附上《微积分B》课后练习的答案。 一、级数是什么   关于级数的定义,除了教科书,也可以看看[“Wiki - Series”](https://en.wikipedia.org/wiki/Series_(mathematics

2017-09-25 16:14:07 2214

原创 用Python学《微积分B》(反常积分)

Riemann积分有两个局限:一是积分区间[a, b]必须有限;二是被积函数f(x)在积分区间[a, b]上有界。而反常积分(Improper Integral)就是对Riemann积分这两个局限的扩展,前者扩展后被称为“无穷积分”,后者扩展后被称为“瑕积分”。   本节的内容属于“微积分的扩展”,课程中介绍的本就不太详细,主要讨论反常积分的“敛散性”我就不作扩展了,仅用Python辅助,展示课后

2017-09-21 10:36:02 5955

原创 用Python学《微积分B》(微积分应用)

微积分是一种非常重要的“数学分析”思想(方法),在许多领域中都有应用,比如:计算平面面积、曲线长度、空间图形的体积、旋转曲面面积和物理学中的“微元法”等。而如何用好“微积分”是这部分学习的重点。要用好微积分,关键是理解透彻“微分-differential”和“定积分-Integral”的定义。微积分在英文中有时又被称为“Infinitesimal calculus”,即“无穷小量微积分”,这个名字从

2017-09-18 15:33:55 7948

原创 用Python学《微积分B》(Newton-Leibniz公式)

微积分的出现源于极限论,而极限的描述借助于“不等式”。“微分”(导数)和“积分”(定积分)一开始只是两个种重要的“极限问题”:微分学研究的是“函数的变化量与自变量的变化量比值的极限”问题,几何上描述为“函数曲线在某点的切线的斜率”问题,其中这个切线就是割线取极限得到的;而积分学研究的是如何“在某个区间内用无限小分割的矩形的面积和来近似函数曲线与x轴围成的面积”,即“Riemann和”,需要注意的是,

2017-09-13 10:06:01 6718

原创 用Python学《微积分B》(定积分)

本文主要学习《微积分B》第7章——“定积分的概念和存在条件”,结合课程中的知识进行一些扩展,并用Python辅助求解课后练习题。关于定积分(Definite Integral)的概念,课本中只介绍了“黎曼积分”(Riemann Integral),而wiki上对定积分的介绍更全面:Integral-Wikipedia。此外,再介绍一个好玩的数学知识讲解网站:Math is fun,它上面对Integ

2017-09-07 17:35:31 10721 4

原创 用Python学《微积分B》(有理式与简单无理式积分套路)

前一篇介绍了“换元法”和“分部积分”两种一般的求积分的方法,这一篇主要学习对“有理式”和“简单无理式”求积分的套路。这一篇是对不定积分方法的总结,在此特地介绍一个在线积分器和symbolab,对于复杂的积分式可以用它们辅助计算。 一、知识点 1,四个分式模式   所谓的“套路”,都是通过一系列变换,把被积函数转化为“积分表”中的函数及其组合。积分表中有四个积分式对于分式有理式非常重要,

2017-09-04 16:55:09 5294 1

原创 用Python学《微积分B》(换元法与分部积分)

一、知识点1,换元法   换元法主要是根据“积分形式不变性”,通过“替换被积变量”的方式将“被积函数”转换为“积分表”中的函数及其组合,待求出原函数之后,再将变量替换回来的求积分的方法。 1)复合函数换元法(第一类换元法)   复合函数换元法主要是利用复合函数微分来进行“凑微分”,即将“微分符”外面的东西变到“微分符”里面。其关键点是要找到合适的中间变量u=u(x)u = u{\left (x

2017-08-29 16:21:47 1888

原创 用Python学《微积分B》(序)

最近上下班地铁上一直在“学院在线”APP上学习清华大学扈志明老师的《微积分B》。该课程每节课都有练习题,为了加快做题速度,我尝试了用python来辅助解题,发现效果不错,故此分享给大家。一、Python库  主要用到的python库有:sympy、scipy、numpy、matplotlib。它们都是SciPy Orgnization的成员。此外还参考了《用python学微积分》这本gitbook

2017-08-29 10:29:57 2763

原创 用Python学《微积分B》(不定积分的概念)

摘要:本文主要总结《微积分B》课程6-1节“不定积分的概念和性质”的知识点,并使用Python求解该节的课后习题。一、知识点1,“函数可积”(原函数存在)的判定1)连续函数一定可积2)函数可积的必要条件Darboux定理告诉我们:函数可导,则其导函数一定满足“介值定理”。(Darboux定理也可以称为“导函数介值定理”)由此可得:函数可积,则该函数不一定连续,但一定满足“介值定理”。推论:包含

2017-08-28 16:54:31 2904

原创 用Python学《微积分B》(Unit Test 3)

本文主要用Python来求解《微积分B》课程的“单元测试3”的习题,此外,为了避免前一节“Taylor公式”的篇幅过长,也将其课后习题放在这里。    注:sympy中对高阶无穷小采样的是“Big O notation”(大O标记法);而扈志明老师的《微积分B》课程采用的是“Little O notation”(小o标记法),两者是有差别的:       https://sta

2017-08-25 12:24:41 965

原创 用Python学《微积分B》(Taylor公式与曲线拟合)

Taylor公式可以说是微分学部分集大成的一个公式,可以说它是

2017-08-23 14:44:15 3868 1

原创 在Windows上编译、应用glog

glog是google提供的一个开源的C++日志库。由于最新的glog源码工程中,已经移除了“.sln”文件,代之以“a CMake build system”,在Windows平台下应用最新的glog库,需要自行使用CMake来生成适用不同版本VS的“.sln”文件。这个过程相对来说,有点小繁琐,特以此文记录并分享给大家。注:glog下载链接:https://github.com/goo

2017-08-22 17:31:21 13160

原创 用Python学《微积分B》(单调性与极值,凸性与拐点)

《微积分B》课程微分学部分的“单调性与极值”和“凹凸性与拐点”这两节都属于“函数的微分性质应用”。上一篇讲到“洛必达法则”是用“降维”的方法来求不定式的极限,而这两节同样使用“降维”(求导)的方法来分析函数的性质。注:关于“降维”,我有一个联想。微积分中的降维就是求导,而在其他领域也有“降维”,比如“将球体投影为平面上的圆”,“将复信号投影到x-t平面,研究幅度变化图”等等。一、要点简述

2017-08-21 17:28:28 6390

原创 用Python学《微积分B》(微分中值定理与洛必达法则)

本文将“微分中值定理”和“洛必达法则”(L'Hopital's Rule)两节的课后习题放到一块讨论。其中“微分中值定理”强调的是对概念,特别是“开区间可导,闭区间连续”的理解,习题虽少,但吃透不易;而“洛必达法则”将求函数的极限转变为求导数的极限,实现的是一种“降维”计算方法,(看到“降维”这个词,你就知道它的威力有多大了),但是现在有了python,这种苦逼计算就交给计算机了,至于它用不用“洛

2017-08-18 15:28:58 2680

原创 用Python学《微积分B》(Unit Test 2)

本文主要展示用sympy来求解扈志明老师《微积分B》课程的单元测试题二。其题型主要是求导数或微分,相对一般的课后习题要难,在此贴出求解过程,如下:1,求曲线  在点(0,1)处的切线方程?解:该点坐标已知,只要求出该点切线方程的斜率,即曲线在该点的导数。2,设函数,其中n为正整数,则f'(0)=?解:求归纳公式,该公式中包含阶乘。1-2两题的Python求解过程如下:

2017-08-15 14:09:54 1515

《Windows驱动开发技术详解》源码

《Windows驱动开发技术详解》一书的源码,包括:DDK 编译版本和VC 版本。

2019-02-13

空空如也

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

TA关注的人

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