02 2014 档案
摘要:randn('state')随机数都是由RandStream随机数据流生成的(里面有一套固定的算法,一般用时间发生装置)。其中就有'state','seed','twister'等参数。‘state’是对随机发生器的状态进行初始化,并且定义该状态初始值。比如你过一段时间还要使用这个随机数的时候,还能保持当前的随机取值。比如randn('state',2013)a = randn(1)b = randn(1) 会发现与上一个随机值不一样如果再定义一次randn('state',2013)c = ran
阅读全文
摘要:matlab文件操作1、文件的打开与关闭(fopen与fclose)1)打开文件在读写文件之前,必须先用fopen函数打开或创建文件,并指定对该文件进行的操作方式。fopen函数的调用格式为:fid=fopen(文件名,“打开方式”)说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。文件名用字符串形式,表示待打开的数据文件。常见的打开方式如下:“r”:只读方式打开文件(默认的方式),该文件必须已存在。“r+”:读写方式打开,打开后先读后写。该文件必须已存在。“w”:打开后写入数据。该文件已存在则更新,不存在则创建。“w+”:读写方式打开文件。先读后写。该文件已存在
阅读全文
摘要:Matlab 简单谈谈EVAL函数的用法EVAL(s)相当于把字符串s的内容作为语句来执行。比如:eval('a=3*5') 和直接在command 窗口中输入 a=3*5 等效eval 一个经常用到的地方就是将一些表达式写成带小数的直观形式,比如 :a=solve('x^2+4*x-9=0')a = - 13^(1/2) - 2 13^(1/2) - 2为了得到直观的带小数的数据,我们输入 eval(a)就得到:>> eval(a) ans =-5.6056 1.6056
阅读全文
摘要:比较两个输入字符串是否相等c = strcmp(str1,str2)比较字符串 str1 与 str2 ,若完全相等则返回 1 ,不相等返回 0str1 = 'hello';str2 = 'help';c = strcmp(str1,str2)c = 0
阅读全文
摘要:函数作用:用于确定某变量或值是否存在。调用格式:exist主要有两种形式,一个参数和两个参数的,作用都是用于确定某值是否存在:1. b = exist( a) 若 a 存在,则 b = 1; 否则 b = 0;2. b = exist( 'name', 'kind') kind 表示 name 的类型,可以取的值为:builtin(内建类型),class(类),dir(文件夹),file(文件或文件夹),var(变量)。
阅读全文
摘要:A a abs 绝对值、模、字符的ASCII码值acos 反余弦acosh 反双曲余弦acot 反余切acoth 反双曲余切acsc 反余割acsch 反双曲余割align 启动图形对象几何位置排列工具all 所有元素非零为真angle 相角ans 表达式计算结果的缺省变量名any 所有元素非全零为真area 面域图argnames 函数M文件宗量名asec 反正割asech 反双曲正割asin 反正弦asinh 反双曲正弦assignin 向变量赋值atan 反正切atan2 四象限反正切atanh 反双曲正切autumn 红黄调秋色图阵axes 创建轴对象的低层指令axis 控制轴刻度和风
阅读全文
摘要:函数功能:将图像数据写入到图像文件中,存储在磁盘上。调用格式:imwrite(A,filename,fmt)A是图像数据,filename是目标图像名字,fmt是要生成的图片的格式。图片格式有::bmp(1-bit、8-bit和24-bit)、gif(8-bit)、hdf、jpg(或jpeg)(8-bit、12-bit和16-bit)、jp2或jpx、pbm、pcx(8-bit)、pgm、png、pnm、ppm、ras、tif(或tiff)、xwd。各种格式支持的图像位数不一样,比如bmp格式不支持16-bit,而png格式支持, 又如gif只支持8-bit格式。imwrite(X,map,f
阅读全文
摘要:[~,m]表示的意思解释。[~,m]=rat(12/34)m = 17>> [x,m]=rat(12/34)x = 6m = 17
阅读全文
摘要:功能:对任意类型数组或多维图像进行滤波。用法:B = imfilter(A,H) B = imfilter(A,H,option1,option2,...) 或写作g = imfilter(f, w, filtering_mode, boundary_options, size_options)其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。具体参数选项见下表:选项描述filtering_mode‘corr’通过使用相关来完成...
阅读全文
摘要:Fspecial函数用于创建预定义的滤波算子,其语法格式为:h=fspecial(type)h=fspecial(type,parameters,sigma)参数type制定算子类型,parameters指定相应的参数,具体格式为:type='average',为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。type='gaussian',为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为 0.5.type='laplacian',为拉普拉斯算子,参数为alph
阅读全文
摘要:用save函数,可以将工作空间的变量保存成txt文件或mat文件等。比如: save peng.mat p j就是将工作空间中的p和j变量保存在peng.mat中.用load函数,可以将数据读入到matlab的工作空间中。比如:load peng.mat就是将peng.mat中的所有变量读入matlab工作空间中,当然我们也可以选择读入哪个变量.还有一个问题是我的mat文件中保存这一个变量,可是默认的读入matlab中后,还是保存时用的名字,但是,我想用一个新名字代替,怎么办?具体用程序描述如下:save peng.mat p那么load peng.mat之后,就可以在工作空间中看到p变量了。
阅读全文
摘要:函数功能:两个数组间元素逐个计算的二值操作使用方法:C=bsxfun(fun,A,B)两个数组A合B间元素逐个计算的二值操作,fun是函数句柄或者m文件,也可以为如下内置函数:@plus 加@minus 减@times 数组乘《Simulink与信号处理》@rdivide 左除@ldivide 右除@power 数组幂乘@max 二值最大值@min 二值最小值@rem 余数@mod 求模@atan2 四象限反正切@hypot 平方和的平方根@eq 等于@ne 不等于@lt 小于www.iLoveMatlab.cn@le 小于或等于@gt 大于@ge 大于或等于@and 逻辑并@or 逻辑或@x
阅读全文
摘要:nargin是用来判断输入变量个数的函数,这样就可以针对不同的情况执行不同的功能。通常可以用他来设定一些默认值,如下面的函数。例子,函数test1的功能是输出a和b的和。如果只输入一个变量,则认为另一个变量为1,如果两个变量都没有输入,则默认两者均为1。function y=test1(a,b)if nargin==0 a=1;b=1;elseif nargin==1 b=1;endy=a+b;在调用此函数时,如果写成y=nargin_test(),则输出y=2;如果写成y=nargin_test(3),则输出y=4;如果写成y=nargin_test(4,5),则输出y=9。另外有:vara
阅读全文
摘要:在这一节里,我们将总结PCA,ZCA白化算法,并描述如何使用高效的线性代数库来实现它们。首先,我们需要确保数据的均值(近似)为零。对于自然图像,我们通过减去每个图像块(patch)的均值(近似地)来达到这一目标。为此,我们计算每个图像块的均值,并从每个图像块中减去它的均值。Matlab实现如下:avg = mean(x, 1); % 分别为每个图像块计算像素强度的均值。 x = x - repmat(avg, size(x, 1), 1);下面,我们要计算,如果你在Matlab中实现(或者在C++, Java等中实现,但可以使用高效的线性代数库),直接求和效率很低。不过,我们可以这样一...
阅读全文
摘要:介绍我们已经了解了如何使用PCA降低数据维度。在一些算法中还需要一个与之相关的预处理步骤,这个预处理过程称为白化。举例来说,假设训练数据是图像,由于图像中相邻像素之间具有很强的相关性,所以用于训练时输入是冗余的。白化的目的就是降低输入的冗余性;更正式的说,我们希望通过白化过程使得学习算法的输入具有如下性质:(i)特征之间相关性较低;(ii)所有特征具有相同的方差。2D的例子下面我们先用前文的2D例子描述白化的主要思想,然后分别介绍如何将白化与平滑和PCA相结合。如何消除特征之间的相关性?在前文计算时实际上已经消除了输入特征之间的相关性。得到的新特征的分布如下图所示:这个数据的协方差矩阵如下:(
阅读全文
摘要:主成分分析(PCA)是一种能够极大提升无监督特征学习速度的数据降维算法。更重要的是,理解PCA算法,对实现白化算法有很大帮助,很多算法都先用白化算法作预处理步骤。假设你使用图像来训练算法,因为图像中相邻的像素高度相关,输入数据是有一定冗余的。具体来说,假如我们正在训练的16×16灰度值图像,记为一个256维向量,其中特征值对应每个像素的亮度值。由于相邻像素间的相关性,PCA算法可以将输入向量转换为一个维数低很多的近似向量,而且误差非常小。在我们的实例中,使用的输入数据集表示为,维度即。假设我们想把数据从2维降到1维。(实际应用中,我们也许需要把数据从156维降到50维;在这里使用低维
阅读全文
摘要:matlab中函数imresize简介:函数功能:该函数用于对图像做缩放处理。调用格式:B = imresize(A, m)返回的图像B的长宽是图像A的长宽的m倍,即缩放图像。 m大于1, 则放大图像; m小于1, 缩小图像。B = imresize(A, [numrows numcols])numrows和numcols分别指定目标图像的高度和宽度。 显而易见,由于这种格式允许图像缩放后长宽比例和源图像长宽比例相同,因此所产生的图像有可能发生畸变。[...] = imresize(..., method)method参数用于指定在改变图像尺寸时所使用的算法,可以为以下几种:'near
阅读全文
摘要:函数简介函数功能:实现图像矩阵的归一化操作。所谓"归一化"就是使矩阵的每个元素的值都在0和1之间。该函数在数字图像处理中经常用到。调用格式:I = mat2gray(A, [amin amax])将图像矩阵A中介于amin和amax的数据归一化处理,其余小于amin的元素都变为0,大于amax的元素都变为1。I = mat2gray(A)将图像矩阵A归一化为图像矩阵I,归一化后矩阵中每个元素的值都在0到1范围内(包括0和1)。其中0表示黑色,1表示白色。程序示例:在命令窗口中输入:>> test = [1 2 3; 4 5 6]test =1 2 34 5 6&
阅读全文
摘要:ndims是matlab中求一个数组维数的函数。调用格式:n=ndims(A)将A的维数返回给变量n。n>=2n=ndims(A)与n=length(size(A))是等价的MATLAB函数flipdim简介用法:Flipdim(X,dim),其中X表示一个矩阵,dim指定翻转方式。功能:Flipdim函数是matlab中使矩阵按特定轴翻转的函数。Flipdim(X,dim)中,X表示一个矩阵,dim指定翻转方式。dim为1,表示按行翻转,2表示按列翻转。[1] 因此有如下结论:flipdim(A,1)和flipud(A)是等价的,flipdim(A,2)和fliplr(A)是等价的。需
阅读全文
摘要:函数原型: B=im2col(A,[m n],block_type)功能:将矩阵A分为m×n的子矩阵,再将每个子矩阵作为B的一列(1)当block_type为distinct时,将A分解为互不重叠的子矩阵,并转换成列。若不足m×n,以0补足。例: A=15 36 4240 67 88 32 5059 74 27 81 44 59 53 1526 39 20 76 83 15 9 54 68 82 38 77 20 11 8575 70 43 22 17 41 14 5624 44 89 79 86 75 68 9344 2 39 95 99 83 50 7069 33 77
阅读全文
摘要:B = prod(A)将A矩阵不同维的元素的乘积返回到矩阵B。如果A是向量,prod(A)返回A向量的乘积。如果A是矩阵,prod(A)返回A每一列元素的乘积并组成一个行向量B。B = prod(A,dim)沿着指定的dim标量的维计算A矩阵的乘积。注:dim=2表示沿行计算行的乘积,结果组成一个列向量。dim=1表示沿列计算列的乘积,结果组成一个行向量。A = 1 2 3 4 5 6 7 8prod(A)ans =5 12 21 32prod(A,2)ans = 24 1680prod(A,1)ans =5 12 21 32
阅读全文
摘要:如果给定一个神经网络,我们假设其输出与输入是相同的,然后训练调整其参数,得到每一层中的权重。自然地,我们就得到了输入I的几种不同表示(每一层代表一种表示),这些表示就是特征。自动编码器就是一种尽可能复现输入信号的神经网络。为了实现这种复现,自动编码器就必须捕捉可以代表输入数据的最重要的因素,就像PCA那样,找到可以代表原信息的主要成分。具体过程简单的说明如下:1)给定无标签数据,用非监督学习学习特征:在我们之前的神经网络中,如第一个图,我们输入的样本是有标签的,即(input, target),这样我们根据当前输出和target(label)之间的差去改变前面各层的参数,直到收敛。但现在我们只
阅读全文
摘要:目前为止,我们已经讨论了神经网络在有监督学习中的应用。在有监督学习中,训练样本时有类别标签的。现在假设我们只有一个没带类别标签的训练样本集合,其中。自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值,比如。下图是一个自编码神经网络的示例。自编码神经网络尝试学习一个的函数。换句话说,它尝试逼近一个恒等函数,从而使得接近于输入。恒等函数虽然看上去不太有学习的意义,但是当我们为自编码神经网络加入某些限制,比如限定隐藏神经元的数量,我们就可以从输入数据中发现一些有趣的结构。举例来说,假设某个自编码神经网络的输入是一张图像(共100个像素)的像素灰度值,于是,其隐藏层中有50
阅读全文
摘要:假设有一个二部图,每一层的节点之间没有连接,一层是可视层,即输入数据是(v),一层是隐藏层(h),如果假设所有的节点都是随机二值变量节点(只能取0或者1值)同时假设全概率分布满足Boltzmann 分布,我们称这个模型是Restricted BoltzmannMachine (RBM)。首先,这个模型因为是二部图,所以在已知v的情况下,所有的隐藏节点之间是条件独立的(因为节点之间不存在连接),即p(h|v)=p(h1|v)…p(hn|v)。同理,在已知隐藏层h的情况下,所有的可视节点都是条件独立的。同时又由于所有的v和h满足Boltzmann 分布,因此,当输入v的时候,通过p(h|v) 可以
阅读全文
摘要:卷积神经网络的网络结构卷积神经网络是一个多层的神经网络,每层由多个二维平面组成,而每个平面由多个独立神经元组成。图:卷积神经网络的概念示范:输入图像通过和三个可训练的滤波器和可加偏置进行卷积,滤波过程如上图,卷积后在C1层产生三个特征映射图,然后特征映射图中每组的四个像素再进行求和,加权值,加偏置,通过一个Sigmoid函数得到三个S2层的特征映射图。这些映射图再进行滤波得到C3层。这个层级结构再和S2一样产生S4。最终,这些像素被光栅化,并连接成一个向量输入到传统的神经网络,得到输出。一般地,C层为特征提取层,每个神经元的输入与前一层的局部感受野相连,并提取该局部的特征,一旦该局部特征被提取
阅读全文
摘要:细胞型数据类型(cell)使不同类型和不同维数的数组可以共存,细胞型数组实际上可以认为是一种以任意形式的数组为分量的多维数组。1、细胞型数据的定义1)直接赋值定义:细胞型变量在定义时需要使用大括号,元素用都好隔开 例: B = {1:4,A,‘abcd’}2)使用cell函数,预先为细胞型变量定义空间 例: A = cell(m,n) 定义一个空的m行n列的cell类型2、细胞型数据的访问 对细胞型变量元素的引用应当采用大括号作为下标的标示,用小括号作为下标标示时,将只显示该元素的压缩形式。比如:A = {1:4,2.5,‘abc’};>> AA = [1x4 double] [2
阅读全文
摘要:MATLAB语言没有系统的断言函数,但有错误报告函数 error 和 warning。由于要求对参数的保护,需要对输入参数或处理过程中的一些状态进行判断,判断程序能否/是否需要继续执行。在matlab中经常使用到这样的代码:if c=0, ['c = ' num2str(c) '=0)断言函数assert:在程序中确保某些条件成立,否则调用系统error函数终止运行。1、使用示例: assert(1==1) assert(1+1==2, '1+1~=2') assert(x>=low_bounce && x1 error(['
阅读全文
摘要:squeeze的作用是移除单一维。如果矩阵哪一个维数是1,B=squeeze(A)就将这个维数移除。考虑2-by-1-by-3 数组Y = rand(2,1,3). 这个数组有单一维 —就是每页仅仅一列:B=squeeze(A)返回和矩阵A相同元素但所有单一维都移除的矩阵B,单一维是满足size(A,dim)=1的维。squeeze命令对二维数组是不起作用的;如果A是一行或列向量或一标量(1*1)值,则B=A。matlab示例:Y =Y(:,:,1) = Y(:,:,2) =0.5194 0.03460.8310 0.0535Y(:,:,3) =0.5297 matlab0.6711命令Z =
阅读全文
浙公网安备 33010602011771号