matlab中高维数组怎么做PCA?】的更多相关文章

PCA需要先求数据的散布矩阵x*x',再求其特征向量,那么随便一个400*450的图像,就是180000维,矩阵就是180000*180000,matlab无法容纳,那么通常的PCA对图像的降维,比如求eigenface是怎么实现的?难道都是很小的图像?修改 举报添加评论 分享 • 邀请回答   0 吕祺,喜欢思考,爱美好的食物 修改话题经验   Suppose you store the images as column vectors of length NxN (the number of…
今天做图像处理时,看到一个矩阵的处理,简要谈谈下面几段代码: 首先是介绍矩阵(说明:在matlab中无是数组还是矩阵都是按列来存储的) 首先是一些特殊矩阵的建立 zeros(m,n)%建立全0矩阵 ones(m,n)%建立全1矩阵 eye(m,n)%建立对角线全为1 的矩阵 rand(m,n)%(0,1)随机分布的矩阵 randn(m,n)%相比上一个,均值为0,方差为1 magic(m,n)%魔方矩阵 对于矩阵的建立和元素访问,很多和前面介绍的数组相同 下面看图访问矩阵 访问矩阵元素可以用单下…
今天打算跑下程序,突然发现,真的很烂,不会读入数据,简单的Iris.txt一上午都没读进去,在此对matlab中的textread函数做下总结,textscan函数待续. 本文主要内容引自http://linux.chinaitlab.com/administer/872894.html 笔者在此基础上进行运行,修改得到以下内容,希望大家给与补充: textread 基本语法是:     [A,B,C,-] = textread(filename,format)     [A,B,C,-] =…
简介 MATLAB提供了丰富的算法以及一个易于操作的语言,给算法研发工作者提供了很多便利.然而MATLAB在执行某些任务的时候,执行效率偏低,测试较大任务量时可能会引起较长时间的等待.未解决这个问题,MATLAB提供了与C语言联用的功能,而C语言的执行效率相对较高,因此联合使用MATLAB和C可以兼顾开发测试程序的速度和程序的执行效率.要联合使用它们,有必要知道MATLAB中数据的存储方式,这就是本文索要介绍的内容. MATLAB的数据组织方式 MATLAB中所有数组都以行优先存储数据,例如一个…
胞元数组(cell Arry)的基本组分是胞元(cell),每个胞元本身在数组中是平等的,只能以下标区分.胞元可以存放任何类型.任何大小的数组,如任意维数值数组.字符串数组.符号对象等,而且同一个胞元数组中各胞元中的内容可以不同.与数值数组一样,胞元数组维数不受限制,可以一维.二维或更高维,不过一维胞元数组用得最多:胞元数组对胞元的编址方法也有单下标编址和全下标编址两种.下面我们就讲解一下胞元数组的创建,以及简单用法.   方法/步骤     产生数据 在创建胞元数组之前我们先用指令产生不同大小…
1, matlab中的字符串就是1维字符数组,即如: a = 'dddssd'; b = 'lsde'; c = [a, b]; 当然也可以: c= strcat(a, b); 2, matlab中的字符串数组尽量用cell来表示,即如: names={'s1'}; %或 names=cell(1, 1); names{1} = 's1'; names={names{1,:}, 's2'}; %在字符串数组后面append一个字符串.names={names{1,:}, 's3'};     …
matlab中元胞数组(cell)转换为矩阵. cell转换为矩阵函数为:cell2mat(c),其中c为待转换的元胞数组: 转化之后的矩阵可能不满足我们对矩阵维数的要求,那么也许还需要下面两个函数: ——reshape(A,m,n,p,...),将矩阵A变换为m*n*p*...的矩阵: ——permute(A,[1,3,2]),将矩阵A的第3维和第2维交换,从而满足顺序要求: 下面举一个我自己用过的例子: H——<K*1>cell,其中每个元素为U*S*N*T的四维矩阵(H为WINNERII…
MATLAB中的结构数组 结构数组: 结构是包含一组记录的数据类型,而记录则是存储在相应的字段中.结构的字段可以是任意一种MATLAB数据类型的变量或者对象.结构类型的变量也可以是一维的.二维的或多维的数组.结构数组也称为架构数组.不过,在访问结构类型数据的元素时,需要使用下标配合字段的形式. 可以在一个数组中放置各类的数据,并且一个结构数组还能是另一个结构数组的一部分.相比较而言,比元胞数组更为强大,也更加富于变化. (1)直接赋值法创建结构数组 >> employee.name='tige…
一起来学matlab-matlab学习笔记11 11_3 高维数组处理和运算 filp, shiftdim, size, permute, ipermute 觉得有用的话,欢迎一起讨论相互学习~Follow Me filp 翻转元素顺序 语法 B = flip(A) B = flip(A,dim) 说明 B = flip(A) 返回的数组 B 具有与 A 相同的大小,但元素顺序已反转.B 中重新排序的维度取决于 A 的形状: 如果 A 为向量,flip(A) 将沿向量的长度方向反转元素顺序. 如…
一起来学matlab-matlab学习笔记11 11_2 高维数组处理和运算 squeeze, ind2sub, sub2ind 觉得有用的话,欢迎一起讨论相互学习~Follow Me squeeze 删除单维度--B=squeeze(A) B = squeeze(A)返回一个与A元素相同,但去掉了所有单维度的数组B.单例维度是指size(A,dim) = 1的任何维度.二维阵列不受squeeze函数的影响;如果A是一个行或列向量或标量(1×1)的值,那么B = A. 从数组中去掉单维度 创建一…