www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@mdev_local/LocalValidationRMSE.m

    function [RMSE,ValDataSize]= LocalValidationRMSE(mdev,Tests,mdl,X,Y)
%LOCALVALIDATIONRMSE calculate validation RMSE
%
% RMSE= LocalValidationRMSE(mdev,TestNo,mdl,Xdata,Ydata)

%  Copyright 2006-2015 The MathWorks, Inc. 

if ischar(Tests) && strcmp(Tests,':')
    Tests=1:size(getdata(mdev),3);
end

RMSE= NaN(size(Tests));
ValDataSize= zeros(size(Tests));
if nargin<5
    [X,Y]= getLocalValidationData(mdev,Tests);
end
for i=1:length(Tests)
    TestNo= Tests(i);
    if mdev.FitOK(TestNo)

        if nargin < 3 || isempty(mdl)
            % default model is best model for node
            mdl= LocalModel(mdev,TestNo);
        end


        Xdata= X{i};
        Ydata= Y{i};

        if ~isempty(Ydata)
            % calculate residuals
            res= double(Ydata)-EvalModel(mdl,Xdata);
            % remove non finite data
            res= res(isfinite(res));

            N= length(res);
            ValDataSize(i) = N;
            if N>0
                RMSE(i)= sqrt( sum(res.^2)/N );
            end
        end
    end
end