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

📄 scaledata.m

📁 有监督自组织映射-偏最小二乘算法(A supervised self-organising map–partial least squares algorithm),可以用语多变量数据的回归分析
💻 M
字号:
function [XtrScaled, ScalePar] = ScaleData(Xtr, ScaleType);

[Nrow, Ncol] = size(Xtr);
ScalePar.MeanVal=0;
ScalePar.StdVal=0;
ScaleType=upper(ScaleType);
if ScaleType == 'UNI'
    for i=1:Nrow
        XtrScaled(i,:)=Xtr(i,:)/norm(Xtr(i,:));
    end
elseif ScaleType == 'RNR'
    MinVal=min(Xtr');
    MaxVal=max(Xtr');
    for i=1:Nrow
        if (MinVal(i) == MaxVal(i))
            disp('One or more rows in matrix contain identical values');
            XtrScaled(i,:) = 1;
        else
            XtrScaled(i,:)=(Xtr(i,:)-MinVal(i))/(MaxVal(i)-MinVal(i));
        end
    end
elseif ScaleType == 'RNC'
    MinVal=min(Xtr);
    MaxVal=max(Xtr);
    ScalePar.MinVal=MinVal;
    ScalePar.MaxVal=MaxVal;
    for i=1:Ncol
        if (MinVal(i) == MaxVal(i))
            disp('One or more columns in matrix contain identical values');
            XtrScaled(:,i) = 1;
        else
            XtrScaled(:,i)=(Xtr(:,i)-MinVal(i))/(MaxVal(i)-MinVal(i));
        end
    end
elseif ScaleType == 'MNC'
    MeanVal=mean(Xtr);
    ScalePar.MeanVal=MeanVal;
    for i=1:Nrow
        XtrScaled(i,:)=Xtr(i,:)-MeanVal;
    end
elseif ScaleType == 'AUT'
    MeanVal=mean(Xtr);
    StdVal=std(Xtr);
    ScalePar.MeanVal=MeanVal;
    ScalePar.StdVal=StdVal;
    for i=1:Nrow
        XtrScaled(i,:)=(Xtr(i,:)-MeanVal)./StdVal;
    end
elseif ScaleType == 'SNV'
    MeanVal=mean(Xtr');
    StdVal=std(Xtr');
    for i=1:Nrow
        XtrScaled(i,:)=(Xtr(i,:)-MeanVal(i))/StdVal(i);
    end
elseif ScaleType == 'LOG'
    XtrScaled = log(Xtr);
elseif ScaleType == 'EXP'
    XtrScaled = exp(Xtr);
else
    XtrScaled = Xtr;
end

⌨️ 快捷键说明

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