0

こんにちは、以下のエラーが表示されます。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 です。

4

1 に答える 1

3

Matlabドキュメントからmin

Aが行列の場合、 の列をベクトルとしてmin(A)扱い、A各列の最小要素を含む行ベクトルを返します。

行列の全体的な最小値を見つけたい場合は、次の形式のいずれかを使用します。

min(min(A))
min(A(:))
于 2012-07-08T20:52:49.700 に答える