www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/@mdev_local/getLocalValidationData.m
function [X,Y]= getLocalValidationData(mdev,Tests) %GETLOCALVALIDATIONDATA % [Xdata,Ydata]= getLocalValidationData(mdev,TestNo) % Copyright 2006-2007 The MathWorks, Inc. % get validation data [Xdata,Ydata]= getValidationData(mdev); N= length(Tests); X= cell(1,N); Y= X; if ~isempty(Xdata) Xfit= getdata(mdev,'FIT'); L= model(mdev); nl= nfactors(L); XGlobal= mean(Xdata(:,nl+1:end)); for i=1:length(Tests) TestNo= Tests(i); Ntests= size(Xdata,3); % find matching test xg= Xfit{2}{TestNo}; % avoid divide by zero xg(xg==0)= 1; if size(xg,1)==1; % validation data doesn't work for time-varying problems % normalised error rx= XGlobal./repmat( xg , Ntests,1) - 1; valtests= sum(rx.^2,2)<1e-4; if any(valtests) % all data with global variables with tolerance X{i}= Xdata(:,1:nl,valtests); Y{i}= Ydata(:,:,valtests); end end end end