source: prdatasets/pr_loadmatfile.m @ 158

Last change on this file since 158 was 151, checked in by bduin, 5 years ago
File size: 1.6 KB
Line 
1%PR_LOADMATFILE  Load matfile for this mfile, if it exist
2%
3%    A = PR_LOADMATFILE(MATFILE)
4%
5% Loads the dataset stored in the matfile. Default matfile is the name of
6% the calling routine. The output A is empty if MATFILE does not exist.
7%
8%    [A1,A2,..] = PR_LOADMATFILE(MATFILE,NARGOUTCOUNT)
9%
10% In case multiple matfiles are stored for the calling routine, it is
11% assumed they all contain a dataset: train set, test set, validation set,
12% etcetera. In case NARGOUTCOUNT (NARGOUT of the calling routine) equals 1,
13% the combined dataset is loaded and returned in A (A1).
14% In case NARGOUTCOUNT > 1, the subsets are are loaded into A1, A2, ...
15%
16% SEE ALSO
17% DATASETS, PRDATASETS, PR_SAVEMATFILE, PR_DOWNLOAD_UCI
18
19function varargout = pr_loadmatfile(name)
20
21varargout = cell(1,nargout);
22
23if nargin < 1 || isempty(name)
24  name = pr_callername;
25end
26matfile = fullfile(fullfile(fileparts(which(mfilename)),'data'),name);
27if exist([matfile '.mat'],'file') ~= 2,
28  return
29end
30
31if nargout == 1
32%   varargout{1} = loadmatf([matfile '.mat']);
33  varargout{1} = file2dset([matfile '.mat']);
34else
35  for i=1:nargout
36%     varargout{i} = loadmatf([matfile '_' num2str(i) '.mat']);
37    varargout{i} = file2dset([matfile '_' num2str(i) '.mat']);
38  end
39end
40
41return
42 
43function a = loadmatf(matfile)
44  if exist(matfile,'file') == 2
45    warning('OFF','MATLAB:indeterminateFields');
46    s = prload(matfile);
47    warning('ON','MATLAB:indeterminateFields');
48    fields = fieldnames(s);
49    a = s.(fields{1});
50    a = pr_dataset(a); % take care of prtools4 and prtools5 datasets
51  else
52    a = [];
53  end
54return
Note: See TracBrowser for help on using the repository browser.