Excel执行Matlab函数和脚本

这篇博客介绍的是Excel通过excllink插件调用matlab。excllink是官方提供的工具,在安装Matlab时如果勾选该toolbox,则会自动安装,但是安装好之后我们还需要在Excel中进行配置。…

Matlab嵌入C++,API,编译与调试

Matlab嵌入C++是很容易的,嵌入C++的matlab在保持易用性的同时,可以加快程序速度。嵌入的C++代码不能直接在matlab中断点调试,需要借助Visual Studio之类的工具进行调试。这篇博客主要以简单的demo导入,介绍如何在Matlab中嵌入C++程序。…

Excel VBA(九)表格对象操作

本章是本系列教程的重点。但我觉得应该不是难点。从第零章开始到学完本章,应该可以把VBA用于实战中了。

Excel对象主要有4个:

  • 工作薄 Workbook
  • 工作表 Worksheet
  • 单元格区域 Range
  • 单元格 Cell

Excel VBA(七)过程与函数

前面讲过,VBA代码有两种组织形式,一种就是过程(前面的示例中都在使用),另一种就是函数。其实过程和函数有很多相同之处,除了使用的关键字不同之外,还有不同的是:

  • 函数有返回值,过程没有
  • 函数可以在Excel表格中像一般的Excel函数那样使用,但过程不可以
  • 过程可以指定给Excel表格中的按钮或者图片等对象,但是函数不可以
  • 函数只能在被调用时执行,比如在过程中调用,或者在另一个函数中调用,或者在Excel表格中调用。但不能直接执行,而过程是可以的

Excel VBA(六)数组和字典

数组和字典也是VBA的常用到数据类型之一。但是我翻了有四五本VBA教程相关的书,里面都没有介绍到字典,数组到是在介绍数据类型时有介绍,而并没有提到字典。
事实上,字典不是VBA内置的类型,它是Windows脚本语言的。但其实字典在VBA中也是非常重要的,它非常适用于需要进行非重复性数据的操作。我多次需要使用到字典,但很少用到数组。…

Excel VBA(五)数据类型

与其它的编程语言一样,VBA也有它自己的数据类型。讲到数据类型,就离不开“变量”与“常量”这两个概念,变量与常量,都是用于保存数据的。顾名思义,“变量”是会变的,即它的值是可以改变的;而常量,则它的值通常是固定不变的。

定义数据类型的优点有2个:

  • 便于内存管理
  • 便于程序进行计算(数值型)和其它使用(非数值型)

VBA中的基本数据类型有多种,但常用到的只有其中一半左右。

Excel VBA(一)打开VBE

VBA(visual basic application)是visual basic的一种宏语言,是依附于Microsoft Office系列软件的自动化语言。Excel是作为Microsoft Office系列软件中最常用的程序,被广泛应用于数据存储和处理。

宏是一系列可执行的VBA程序的集合,它可以帮助执行一项或者多项操作。…

标志识别之AprilTag3

AprilTag2在速度上是不尽人意的,原因在于梯度计算和聚类的庞大计算和内存开销。在AprilTag3中进行了多项优化,不仅算法更加鲁棒,时间和内存开销大幅减小,更支持了全新格式的二维码。粗看了下,主要做了几点优化:查找矩形前,通过一种新的二值化方法,直接在二值图上查找(这样带来的风险就是二值化失败,矩形形状被破坏,就无法检测到),在查找四边形时,在并查集搜索时提前截断,比起AprilTag2少了许多不必要的搜索。

另外,在构建AprilTag3时和AprilTag2不同,在windows下构建需要自己配置windows下的pthread库,在Linux用gcc构建时,Tag.c文件中有许多大数组,gcc对这类数组编译非常非常慢。AprilTag3也被集成在了VISP中作为一个模块使用,总之AprilTag3使用起来还是非常容易的,AprilTag这种二维码在定位查找方面还是非常有用的,简单记录一下。…

量子计算(二)量子计算

量子计算依靠量子计算机,但是当前我们可以看到的未来,量子计算机并不能取代经典计算机。量子计算不能解决经典计算机不能解决的数学难题,并且量子计算能解决的问题是有局限性的,经典问题不一定能利用量子计算机解决(如本博客上一篇所属,其优势在于依靠状态叠加来穷举)。量子计算固然速度快,但是如果把这些数据存入导出是严峻的问题。并且量子计算存在噪声影响,所以可纠错的量子计算机才具有商用价值(换句话说,量子计算机在未来相当长的一段时间内都没有商用价值)。与量子计算配套的算法和软件都需要重新设计,会是崭新的方向。博主摘抄一篇文章,看完之后会对量子计算的现状和未来有大致的了解和认知。…

量子计算(一)RSA加密算法

密码学的发展分为三个阶段:加密算法的保密(古典密码学),密钥的保密(对称加密),私钥的保密(非对称加密)。在对称加密的情况下,如果文件的接收方需要解密文件,就必须要拿到密码,文件发送者不得不对每个文件都设置一个密码,管理困难并且密码的保存和传输的安全性直接关系到加密算法本身。那么非对称加密就应运而生了。1977年,三维在MIT工作的R\S\A提出了RSA算法,并延用至今,加密用的密码(私钥)和解密用的密码(公钥)分离开来,我们公布公钥就可以保证传输安全了。根据公钥推导私钥就成为了密码学的攻防的焦点。

CMake使用NDK独立工具链进行交叉编译

在交叉编译中,NDK是一个很好的工具。windows、linux、android、32bit、64bit,能够处理绝大部分程序的交叉编译。而CMake组织程序又使得程序具有良好的跨平台编译。NDK下载好之后,工具链无法直接被cmake使用,需要通过一个脚本生成独立的工具链。这篇博客介绍CMake使用NDK的独立工具链。…

快速线段检测之EDlines算法

博主认识的几种线段检测算法有:Hough变换法、LineSegementDetector (OpenCV3中加入的算法)、FastLineDetector(在opencv的contribute模块中)。LSD算法的速度让人望而却步,FLD算法一大堆参数很难调优,并且速度并没有特别快。在使用这些算法的时候或多或少都遇到了问题,于是EDlines算法浮现在眼前,快速,并且效果不错。 Ed就是EdgeDraw的缩写…

Pytorch图像分类之ShuffleNet

在图像分类应用下,诞生了不少经典网络。ShuffleNet以速度快和便于移植而著称,这篇博客将简单介绍ShuffleNet,以及Pytorch下模型的训练、保存、微调、生成CaffeModle。…