嗨我收到下面所述的错误,我试图在0和1之间进行标准化。我得到的错误是:
columns =
6
??? Error using ==> minus
Matrix dimensions must agree.
Error in ==> Kmeans at 54
data = ((data-minData)./(maxData));
不确定我做错了什么?完整代码如下:
%% dimensionality reduction
columns = 6
[U,S,V]=svds(fulldata,columns);
%% randomly select dataset
rows = 1000;
columns = 6;
%# pick random rows
indX = randperm( size(fulldata,1) );
indX = indX(1:rows);
%# pick random columns
indY = randperm( size(fulldata,2) );
indY = indY(1:columns);
%# filter data
data = U(indX,indY);
%% apply normalization method to every cell
maxData = max(data);
minData = min(data);
data = ((data-minData)./(maxData));
数据集为1000x6。
答案 0 :(得分:3)
来自Matlab documentation on min
:
如果
A
是矩阵,min(A)
会将A
的列视为向量,并返回包含每列中最小元素的行向量。
如果要查找矩阵的全局最小值,请使用以下任一形式:
min(min(A))
min(A(:))