- 博客(252)
- 资源 (26)
- 收藏
- 关注
原创 如何记录Matlab程序运行过程中所占用的最大内存(续)
在Matlab中,一个浮点类型数据是占8个字节,因此程序中的X1和X2各占3200000000个字节。可以看到,profile记录的峰值内存是2.986GB,这很明显是有问题的,因为程序中有两个20000*20000的矩阵,这就接近4GB了。而三次使用memory记录的内存使用显示,占用的内存最多时有7.5292GB,这也是一个合理的数字。程序中我还看了分配的内存(TotalMemAllocated字段),显示是TotalMem = 5.9718GB,这个虽然低于memory记录的结果,但也是比较合理的。
2025-03-18 14:20:14
417
2
原创 如何记录Matlab程序运行过程中所占用的最大内存
是得到当前文件的名字(含目录和文件名,但不包含扩展名.m,因此要手动接上),在FunctionTable中字段FileName存储的各函数文件的名字(包含扩展名.m),因此我们用了一个for循环查找主程序的运行信息位于结构体数组FunctionTable中的位置。但如果我们想要的是整个程序在运行过程中占用内存的最大值,即峰值内存,而且我们的程序又包含了很多子函数,再使用上述命令就有些不方便了。总不能运行完一个程序记录一下吧!可以看到,各文件的运行总时间,自用时间(不包含调用子函数的时间),峰值内存等信息。
2025-03-16 20:54:25
435
原创 Matlab中的均值函数mean
我在更新簇中心时,有些簇只有一个样本,也就是一个行向量,这样用mean对它求均值,得到的不是它本身(程序本身所期望的结果),而是将这个行向量所有元素取平均,然后将这个标量值赋值给簇中心向量时,Matlab自动会将簇中心向量所有元素都赋值为这个平均值。解决的办法也很简单,就是在更新簇中心时,判断一下属于当前簇的样本个数,如果大于1,每行一个样本,存成一个矩阵,直接对这个矩阵使用mean就行,反之若等于1,则直接将这个向量赋值给簇中心,不要使用mean。但很奇怪的是,聚类的结果迭代少量几次后就不再发生变化了。
2025-03-05 16:25:34
368
原创 理解动手学深度学习的自编包d2l
在d2l文件夹内,共有5个文件和一个文件夹,分别是__init__.py, mxnet.py, paddle.py, tensorflow.py, torch.py这5个.py文件和__pycache__文件夹。其中,Location告诉你这个包安装在什么位置,在这个目录下,会有一个d2l文件夹(注:在上面目录里,d2l是我安装这个包的虚拟环境的名字,与d2l包无关)。另外,Requires表示d2l这个包需要哪些其它包,而Required-by表示d2l被哪些包调用,这里是空的,表示没有包依赖于d2l。
2025-01-31 21:05:51
1319
原创 使用libsvm时遇到MATLAB has encountered an internal problem and needs to close
最后是复现出错的场景,“idx = (y==0)”是为了产生一个空集,然后基于它从生成的训练集中选样本,肯定选出来的X_s和y_s也是空集,然后再使用libsvm基于X_s和y_s进行训练,这里也是不报错的,最后一行是使用训练所得模型做预测,然后就会产生本文开头所说的error。本错误与libsvm版本无关,错误是在我一直用的libsvm上发现的(记不清是哪个版本了),我使用最新版的libsvm (Version 3.34, August 2024)进行了测试,也会出现一样的错误。
2024-08-25 09:52:36
576
原创 写点什么吧,作为STM32系列的开篇……
本科时STM32还没开始流行,嵌入式系统课程用的还是三星S3C44B0,任课老师做项目用的是LPC系列,但圈内STM32已经在崛起了,大四的时候还给毕设老师设计了一块STM32的开发板,从原理图到PCB……2022年底,因为一些原因,以为要重拾一下FPGA,这才发现,多年过去,Xilinx FPGA的开发工具都改名了,不再叫ISE了,改名为Vivado了,物是人非。不停地要备不同的课,而且上的即不是单片机,也不是FPGA,不再有机会接触这些东西,所以这些技能都扔下了……工作后,虽然在高校,但一切都变了。
2024-06-16 21:26:22
407
原创 矩阵按列相乘运算的并行化实现方法
也就是说,矩阵Z中的第(r,s)个元素等于X的第r行之和乘以Y的第s行之和。因此,可以先分别将X和Y所有列对应相加,得到长为d的列向量Xsum和Ysum,则Z等于Xsum乘以Ysum的转置。注意到第一个括号是将X所有列对应相加,第二个括号是将Y所有列对应相加,因此Z也就是前面提到的Xsum乘以Ysum的转置。其中X(:,i), Y(:,j)分别表示矩阵X, Y的第i列和第j列,易知Z为d×h矩阵。注意到第一个括号是X的第r行之和,第二个括号是Y的第s行之和。这两天一直在琢磨如下矩阵计算问题。
2024-04-24 10:17:53
803
原创 期刊Neurocomputing为什么简称IJON?
难不成是创刊时间比较早,改名时间早于dblp的成立时间,所以dblp中只用了最新的期刊名,但简写保留了原来名字的信息?从以上两篇文章中可以看到,似乎最开始期刊的落款都是“International Journal of Neurocomputing”,到这里“IJON”就解释得通了,明显是这四个词的首字母缩写,其中介词of也包含在内。但观察了好久的“Neurocomputing”这个名字,也看不出为什么会有这么一个简写,除非是这个期刊曾经改过名字。然而,打开这个期刊在dblp的主页(
2023-11-27 10:13:05
2174
原创 解决visio绘图插入到word后导出为pdf格式时分辨率下降的问题
解决方法是如果visio绘图中包含公式编辑器的符号,则要么换成低版本的visio2010文件再往word中粘贴,或者将visio绘图先转成pdf文件,然后再使用Adobe Acrobat Pro DC将pdf文件另存为PNG或TIFF格式的图片,最后再借助Adobe Acrobat Pro DC使用高清图片替换由word转换而得的pdf文件中的低分辨率图片,或者直接将高分辨率图片插入word,但要对word进行设置(参见第4部分)。当然,这里主要是指文档中的图片和公式符号,对于文字来说没有影响。
2023-03-30 14:23:45
11253
4
原创 关于国家自然科学基金模板无法使用word自带的公式编辑器问题的解决办法
本文提供了一种关于国家自然科学基金模板无法使用word自带的公式编辑器问题的解决办法
2023-02-06 12:25:27
3006
原创 MATLAB中的矩阵乘法与实际矩阵乘法的差异
今天在做算法实现时,想用将算法矩阵化,这样子可以并行运算,虽然更耗内存,但起码效率会更好。为了验证矩阵化过程是否正确,我将矩阵化后所得结果和原来的串行计算结果相减,看看两者的之差的范数是否等于0。但我发现两者一直有个微小的差异,本着刨根问底的精神,于是仔细探究了一下,发现差异出现在其中的矩阵乘法,也就是说MATLAB里两个矩阵相乘与实际矩阵相乘的过程有差异。
2022-11-16 11:13:23
1595
原创 如何下载国家自然科学基金申请书的模板
首先,打开国家自然科学基金的登录界面(账号找单位的科研秘书注册索取):国家自然科学基金网络信息系统人员登录平台https://isisn.nsfc.gov.cn/pmpweb/login登录后如下图所示:除了第一行的个人成果,基本信息,科研简历之外,点击第二行和第三行任意模块,可以进入如下界面:点南最右侧的【管理】选项卡,可以进入如下界面:注意上图中最左侧是项目类型,最右侧有“文件详情”。我们在最左侧点击“面上项目”,可得如下界面(注意:左侧部分的右下角有箭头,可以找其它的.
2022-05-27 10:02:46
35523
1
原创 Matlab中随机数生成控制
题目:Matlab中随机数生成控制 这里不讨论各随机数生成函数的使用方法(例如rand, randn, randi, randperm等),重点讨论如何重复生成一样的随机数,因为很多算法中存在随机数生成环节,每次运行程序的结果都不一样,那么自然地就希望能够控制随机数的生成过程,以保证结果能够复现。 以两个程序说明。首先运行如下程序:%demo_randomseed1.mclc;clear;close all;%在程序开始前记录当前随机数生成器状态scurr =...
2021-11-24 13:30:38
3080
原创 Matlab内置的柱状图函数bar使用方法
标题:Matlab内置的柱状图函数bar使用方法 在2019年9月发布的《在Matlab中使用barweb绘制带方差的分组柱状图时的几个注意事项》中介绍了由第三方编写的barweb函数使用方法,但有时其实并不需要画带方差的分组柱状图,很多时候只需要使用Matlab内置的柱状图函数bar即可。本篇简单介绍一下bar函数的使用方法,其实主要是介绍一下如何设置横/纵坐标以及柱状图的颜色图等。 首先,看以下关于bar的demo使用程序:%demo_bar.m@2021-11...
2021-11-21 12:28:30
9539
原创 谷歌学术(google scholar)个人主页的论文信息不准确怎么办?
题目:谷歌学术(google scholar)个人主页的论文信息不准确怎么办?谷歌学术主页是很多人展示自己学术成果的一种方式,但很多时候,谷歌自动给你聚集到主页的论文信息是有误的,这时候怎么去编辑呢?论文信息有误包括两种,第一种是成果不是自己的却被聚集到了自己的主页,这时候要删除;这个操作很简单,选中论文前面的复选框删然后DELETE即可,如图所示:第二种是谷歌自动识别的论文信息有误,这时就需要对论文信息进行编辑;这个操作也很简单,只是不太容易被发现,此时只需要点击需要修改的论文标题,会打开
2020-11-23 21:49:41
15313
原创 Friedman test以及后续检验Nemenyi test和Bonferroni-Dunn test
题目:Friedman test以及后续检验Nemenyi test和Bonferroni-Dunn test在做算法对比时,往往需要对实验结果进行统计检验。Friedman test是一种常用的检验,用来比较k个算法在N个数据集上的整体表现性能。但Friedman test只能给出k个算法的性能之间是否存在差异,如果存在差异,还需要进行“后续检验”(post-hoc test),常用的后续检验方法包括Nemenyi test和Bonferroni-Dunn test。Nemenyi test适用于
2020-11-23 12:22:30
20668
10
原创 一句话理解Bregman距离的含义
题目:一句话记住Bregman距离Bregman距离,又称Bregman散度(Bregman Divergence),两个点与之间的Bregman距离定义如下: 其中为某凸函数,表示求导,表示求内积;可以看出Bregman不满足对称性。回忆一下Taylor公式,可以看出实际上是函数的一阶Taylor近似,因此用一句话概括就是:【与之间的Bregman距离实际上可以理解为函数与其一阶Taylor近似之差】。...
2020-11-22 17:32:05
5683
1
原创 ModelSim错误:syntax error, unexpected “IDENTIFIER“, expecting “.*“ or ‘.‘
module TOP200MHz( input clk_in, input rst, output reg ledout ); wire clk50m,clk200m;dcm62in50out dcm62in50out_inst( .CLKIN_IN(clk_in), .CLKFX_OUT(c
2020-11-02 19:44:20
36902
1
原创 在Matlab中构建最大带权生成树
题目:在Matlab中构建最大带权生成树学过数据结构的都知道“最小生成树” (Minimum Spanning Tree),可以使用Prim和Kruskal算法找到完全图的最小生成树。但在有些时候还需要找最大带权生成树 (Maximum Weighted Spanning Tree),例如在西瓜书(即 周志华.机器学习.北京:清华大学出版社, 2016.)中的第7.4节半朴素贝叶斯分类器提到的TAN(Tree Augmented naive Bayes)算法则基于最大带权生成树算法:提到最大..
2020-11-02 19:35:15
3310
2
原创 连续小波变换、离散小波变换、二进小波变换、离散序列的小波变换、小波包
初学小波者尤其是有数字信号处理基础的初学者,很容易拿傅里叶变换与小波变换对比着学习,但容易造成越比越混乱的现象,比如Matlab里fft函数所做的事就是离散傅里叶变换DFT,但Matlab里的dwt函数所做的事可不是离散小波变换的定义式,对于不想深入了解只想做应用的人来讲,真心挺乱的,“我只是想用一下小波变换而已,就像用傅里叶变换一样,至于么?”,其实就是因为一些概念没区分清楚。
2020-08-14 11:13:16
40591
5
原创 运气太好了!MATLAB计算出来的结果是错的这种事情都遇上了
标题:运气太好了!MATLAB计算出来的结果是错的这种事情都遇上了最近求解一个优化问题,由于存在x’Hx,需要矩阵H为(半)正定矩阵才能保证x’Hx对向量x是凸函数。矩阵H是由一个方阵与其自身转置相乘得到的,即H=AA’,以前遇到的矩阵H都是半正定的,但现在有个数据集(记为D)的结果显示算法不收敛,检查之后发现其原因是针对该数据集D,矩阵H不是半正定的。呃,这就麻烦了,因为暂时还没能力从数学上证明矩阵H什么时候是半正定的、什么时候不是半正定的,只是以前从未遇到过矩阵H不是半正定的情况,所以就默认它是半正
2020-05-25 11:43:59
4951
4
原创 MOSEK二次规划函数quadprog错误: ERROR - (quadprog): H is not a square matrix of dimension length(f)
题目:MOSEK二次规划函数quadprog错误: ERROR - (quadprog): H is not a square matrix of dimension length(f)本篇需要如下基础:(1)使用Matlab二次规划quadprog函数:参见《二次规划问题和MATLAB函数quadprog的使用》,链接:https://blog.youkuaiyun.com/jbb0523/a...
2020-02-26 09:57:28
3222
1
原创 将LIBSVM用于多分类时根据svmtrain输出结果得到各OvO分类超平面的法向量w和偏移项b
题目:将LIBSVM用于多分类时根据svmtrain输出结果得到各OvO分类超平面的法向量w和偏移项b 在前面曾讨论过《由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b》(链接https://blog.youkuaiyun.com/jbb0523/article/details/80918214),介绍了LIBSVM用于二分类时根据模型返回参数得到超平面方程参数w和...
2019-12-02 19:38:19
2747
12
原创 MOSEK优化包的安装、使用及注册:以Matlab中的二次规划为例
题目:MOSEK优化包的安装、使用及注册:以Matlab中的二次规划为例 MOSEK优化包(MOSEK optimization package)是一个高效的优化问题求解工具包, MOSEK官方网站(https://www.mosek.com/):1、软件下载 在Download页面(https://www.mosek.com/downloads/)根据...
2019-09-25 20:41:34
27951
9
原创 机器学习(西瓜书)注解:第12章 计算学习理论
机器学习(西瓜书)注解:第12章 计算学习理论 本次更新第12章,计算学习理论。针对该章注解有任何问题欢迎在此留言~ 相信本章是很多读者望而却步的一章,相信本章是很多以本书为教材的老师在讲课时会直接跳过的一章,相信本章是很多资深机器学习研究者都不予理睬的一章…… 但既然已经入了机器学习这个坑,总感觉如果不去了解一点儿有关本章的内容,少点什么似的...
2019-09-23 21:37:38
1458
3
原创 iThenticate查重系统的使用及如何去除参考文献
题目:iThenticate查重系统的使用及如何去除参考文献 期刊投稿时,有时期刊会以重复率过高而退稿,要求降低重复率后方可送外审。这时就需要对原文进行修改,但为了确保修改是否有效,再次投稿前一般自己会进行一次查重。用的比较多的是iThenticate,网上搜索一下会有两个网址,分别是http://www.ithenticate.com.cn/和http://www.ithent...
2019-09-07 10:35:44
18381
25
原创 在Matlab中使用barweb绘制带方差的分组柱状图时的几个注意事项
题目:在Matlab中使用barweb绘制带方差的分组柱状图时的几个注意事项 注:本人电脑上安装有Matlab r2009b, r2014a, r2017b三个Matlab版本,其中r2009b, r2014a对应文中提到的Matlab低版本,r2017b对应文中提到的Matlab高版本;程序在本人电脑上的测试通过,不同Matlab可能会出现新的问题。 Matl...
2019-09-07 10:04:28
7293
7
原创 Matlab的concur、repmat、kron、reshape函数介绍
也算是经常用到Matlab的concur、repmat、kron、reshape这四个函数吧,但总也记不住其具体用法,每次使用前都要琢磨一下,因此决定将其基本使用方法汇总起来记录一下,故有此文。1、concur 有时需要将某个列向量变成一个每列均相同的矩阵,这里就可以使用concur。 Command Window中help信息如下:...
2019-06-18 16:23:29
5646
原创 克莱姆V(克莱姆相关系数、克莱姆关联系数、独立系数)的MATLAB计算
前些时间需要衡量多个分类数据之间两两相关程度,想找出最相关的一对分类数据;于是想到了曾经看过的克莱姆相关系数,但在网上搜了好久之后,即没发现Matlab现成的built-in函数,也没找到别人分享的Matlab代码,于是决定自己动手写一个~ 克莱姆V(Cramer’s V),又称为克莱姆相关系数、克莱姆关联系数、独立系数等,是双变量相关分析的一种方法,专门用于衡量...
2019-06-18 16:11:01
23423
5
原创 机器学习(西瓜书)注解:第5章 神经网络
机器学习(西瓜书)注解:第5章 神经网络 本次更新第5章,神经网络。针对该章注解有任何问题欢迎在此留言~ 本章讲解最为详细的一部分内容当属5.3节的BP算法,掌握BP算法是理解深度神经网络基础之一。当年BP算法的提出使多层网络的训练成为可能,掀起了神经网络研究的第二次高潮(参见西瓜书第120页的小故事),虽然近些年BP算法的作者Hinton曾说要将BP算法推翻(...
2019-06-18 15:58:24
1957
3
原创 机器学习(西瓜书)注解:第7章 贝叶斯分类器
机器学习(西瓜书)注解:第7章 贝叶斯分类器 本次更新第7章,贝叶斯分类器。针对该章注解有任何问题欢迎在此留言~ 本章内容很多,但读完本章后的感觉可能会是这样的:除了7.3节的朴素贝叶斯分类器看的很爽快,其它似乎什么也没看懂;7.1节的贝叶斯定理和7.2节的极大似然估计本就是本科概率论中的内容,似乎什么都知道却也什么都不知道,熬过了7.4节的半朴素贝叶斯分类器和...
2019-04-06 10:14:48
1508
6
原创 机器学习(西瓜书)注解:第8章 集成学习
机器学习(西瓜书)注解:第8章 集成学习 本次更新第8章,集成学习。针对该章注解有任何问题欢迎在此留言~ 本章内容整体上看并不复杂,可以看成是作者的英文专著《Ensemble Methods: Foundations and Algorithms》(https://book.douban.com/subject/10494228/,据悉该书中文版即将由电子工业出...
2019-04-06 09:46:41
1667
10
原创 机器学习(西瓜书)注解:第9章 聚类
机器学习(西瓜书)注解:第9章 聚类 本次更新第9章,聚类。针对该章注解有任何问题欢迎在此留言~ 本章介绍无监督学习中最典型的任务:聚类。正如书中第217页阅读材料说到:聚类也许是机器学习中“新算法”出现最多、最快的领域。因此本章勉强采用了“列举式”的叙述方式,相较于其它各章给出了更多的算法描述。 除了本章介绍的k均值算法、学习向量量化、高斯混...
2019-04-05 21:14:50
1530
2
原创 机器学习(西瓜书)注解:第4章 决策树
机器学习(西瓜书)注解:第4章 决策树 本次更新第4章,决策树。针对该章注解有任何问题欢迎在此留言~ 本章作为西瓜书“介绍经典而常用的机器学习方法”的开篇,通篇以“西瓜”为例进行讲解,通俗易懂。个人感觉最可能会让人产生困惑的知识点是决策树三种递归返回情形(参见4.1节的详细解释)、缺失值处理的具体细节(参见式(4.12)的解释,具体还得自己琢磨一下4.4.2节的...
2018-10-26 21:14:22
1575
1
原创 机器学习(西瓜书)注解:第11章 特征选择与稀疏学习
机器学习(西瓜书)注解:第11章 特征选择与稀疏学习 本次更新第11章,特征选择与稀疏学习。针对该章注解有任何问题欢迎在此留言~ 其实本章后三节的内容更多属于信号处理领域,前四节虽然在介绍机器学习中的特征选择问题,但也是一个很笼统的介绍,包括“过滤式”算法、“包裹式”算法、“嵌入式”算法也是通用的概念;因此本章与其说是介绍机器学习特征选择的相关知识,倒不如说是介...
2018-10-24 20:56:04
1499
2
原创 机器学习(西瓜书)注解:第13章 半监督学习
机器学习(西瓜书)注解:第13章 半监督学习 本次更新第13章,半监督学习。针对该章注解有任何问题欢迎在此留言~ 监督学习和无监督学习是机器学习的两个学习范型(paradigm)。对于监督学习来说,要求训练样本具有标记信息;而对于无监督学习来说,则不需要训练样本具有标记信息。若在监督学习中没有足够的有标记样本,而是具有大量的无标记样本(在现实世界中正是如此,详见...
2018-10-21 16:06:15
1535
原创 机器学习(西瓜书)注解:第3章 线性模型
题目:机器学习(西瓜书)注解:第3章 线性模型 本次更新第3章,线性模型。针对该章注解有任何问题欢迎在此留言~ 本章是全书第1部分(介绍机器学习基础知识)的最后一章,章节标题为“线性模型”; 抛开3.1节不谈,3.2节、3.3节、3.4节分别介绍了一个线性模型,分别是线性回归、对率回归、线性判别分析,其中3.2节是回归任务,3.3节和3.4节是...
2018-09-26 15:45:37
1129
原创 机器学习(西瓜书)注解:第10章 降维与度量学习
题目:机器学习(西瓜书)注解:第10章 降维与度量学习 本次更新第10章,降维与度量学习。针对该章注解有任何问题欢迎在此留言~ 从该章目录中可以看出10.2节至10.5节均为降维方法,其中10.2节的MDS和10.3节的PCA为线性降维方法,而10.4节的KPCA和10.5节的流形学习(含Isomap和LLE两种方法)为非线性降维方法,但作者为什么将k近邻学习和度...
2018-09-22 11:42:34
2267
7
原创 机器学习(西瓜书)注解:第6章 支持向量机
题目:机器学习(西瓜书)注解:第6章 支持向量机经常听人说南大周老师所著的《机器学习》(以下统称为西瓜书)是一本入门教材,是一本科普性质的教科书。在该书第十次印刷之际,周老师在“如何使用本书”中也提到“这是一本入门级教科书”。然而,本人读起来却感觉该书远不止“科普”“入门”那么简单,书中的很多公式需要思考良久方能推导,很多概念需要反复咀嚼才能消化。边读边想着是不是应该将自己学习时遇到的一些知识...
2018-09-12 16:19:30
2924
2
原创 由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b
题目:由LIBSVM的svmtrain输出结果得到分类超平面的法向量w和偏移项b 相信很多人都会使用LIBSVM软件包,svmtrain和svmpredict两个函数分别完成训练和预测:svmtrain输出训练模型,然将将训练模型作为svmpredict的输入参数即可得预测结果。训练模型作为一个中间变量似乎从来没有出现过,但对于很多人来说这的确已经足够了;然而,这并不能满足我们在...
2018-07-04 20:48:15
15751
14
Multipath match pursuit源代码
2023-08-02
广义正交匹配追踪(Generalized orthogonal matching pursuit)源代码
2023-08-02
csmp_matlab_code
2022-04-13
cs_matlab_code
2022-04-13
Heig_matlabR2016a_win10_i7-7500U.mat
2020-05-25
Linear Discriminant Analysis :A Tutorial on Data Reduction
2018-06-14
AboutAtomizer1208.pdf
2016-07-22
数字序列补零后的频谱变化
2012-05-19
使用matlab进行频谱分析时若干问题解释
2012-02-22
我的Platform Builder编译错误总结
2010-12-07
三星公司原始的SMDK2440BSP包
2010-05-14
基于ARM9的WinCE快速入门
2010-04-26
GEC2440的BIOS分析(清晰版)
2010-04-26
GEC2440的BIOS分析.pdf
2010-04-25
STM32实验板原理图与PCB
2010-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人