84セットのデータがあります。最初のデータセットは次のコードで正規化されています...正規化式は(((N-min)* 2)/(max-min))-1)です。
%read 1st set of data
N = xlsread('output1.xls','data');
%normalize the 27 columns
N = bsxfun(@minus,N,min(N,[],1));
N = bsxfun(@times,N,2./max(N,[],1));
N = N - 1;
xlswrite('output1.xls',N,'normdata');
現在、すべてのデータセットには27列があります。最初のデータセットの元のデータから、各列の最大値と最小値を見つけます。したがって、各列に27の最大値と27の最小値があります。次に、これらの27の最大値と各列に27の最小値を使用します。 1番目のセットデータと2番目から84番目のデータセットを正規化するには...
ただし、b3の回答からの以下のコードは、上記のコードとは異なる結果になります。
N = xlsread('output1.xls', 'data');
minN1 = min(N);
maxN1 = max(N);
N = bsxfun(@minus, N, minN1);
N = bsxfun(@times, N, 2./maxN1);
N = N - 1;
xlswrite('output1.xls',N,'normdata');
コードの何が問題になっているのかわかりますか?