⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 center.m

📁 基于matlab编写的蚁群-偏最小二乘算法(AOC_PLS),该算法实现含变量多的数据的变量的筛选!
💻 M
字号:
%#										
%#  function [cdata,me]=center(data,opt);			
%#										
%#  AIM: 	Centering along columns, rows or double centering		
%#										
%#  PRINCIPLE:  Removal of the column-, row- or overall mean from 		
%#              each column, row or both, respectively 		 		
%# 				 If a test data set is available it can ONLY be 
%#              column centered using the mean from the calibration
%#              data set.
%#
%#
%#  INPUT:	data: (m x n) matrix with m rows and n variables		
%#				opt: optional							
%#		     1 = column centering					
%#		     2 = row centering						
%#		     3 = double centering					
%#					
%#			 							
%#  OUTPUT:	cdata: (m x n) matrix containing centered data			
%#				me: mean vector, overall mean (scalar)				
%#	
%#										
%#  AUTHOR: 	Andrea Candolfi				 			
%#	    			Copyright(c) 1997 for ChemoAc					
%#          	FABI, Vrije Universiteit Brussel            			
%#          	Laarbeeklaan 103 1090 Jette					
%#   										
%# VERSION: 1.2 (25/02/2002)							
%#										
%#  TEST:   	I. Stanimirova	& S. Gourv閚ec & M. Zhang
%#										
	
function [cdata,me]=center(data,opt);

[m,n]=size(data);

if nargin==1;
  opt=[4];
  while opt>3 | opt<=0 
    opt=input('column centering(1), row centering(2), double centering(3):');
  end
end


if opt==1			% column centering 
   me=mean(data);
   cdata=data-ones(m,1)*me;
end

if opt==2			% row centering
   me=mean(data')';
   cdata=data-me*ones(1,n);
end

if opt==3 	% double centering
   me=mean(mean(data));
   mej=mean(data');
   mei=mean(data);
   cdata=data-(ones(m,1)*mei)-(ones(n,1)*mej)'+(ones(m,n)*me);
end

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -