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

    function RMSE= ValidationRMSE(mdev,Xdata,Ydata)
%VALIDATIONRMSE calculate validation RMSE
%
% RMSE= ValidationRMSE(mdev,mdl,Xdata,Ydata)

%  Copyright 2006-2008 The MathWorks, Inc. 

RMSE= NaN;
if mdev.Status && hasBest(mdev)
    
    % default model is best model for node
    mdl= BestModel(mdev);

    if nargin<3
        % get validation data from test plan
        [Xdata,Ydata]= getValidationData(mdev);
    elseif size(Ydata,2)>1
        % choose correct response
        Ydata= Ydata(:,varname(mdev));
    end

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

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