Using regexp on a double array
Show older comments
I'm trying to extract variable names and years from my file names, but getting an error from regexp.
Example of code:
%Call up files
pwd
fuf(pwd, 'detail');
fn=fuf(['/Users/katharynwoods/Documents/MATLAB/Research/MATLAB/flux_sensitivity_analysis/Met_drivers/sens_heat/*shtfl.nc*'],'detail');
load(char(fn{1}));
%Extract variable names
pieces = regexp(fn, '\/', 'split');
p=pieces{1};
driver = p{9};
but I get this error message:
Undefined function 'regexp' for input arguments of type 'double'.
Is there a different function I should be using on double arrays? Thanks!
9 Comments
Tom
on 24 Jun 2013
fn appears to be a cell based on the load line, what does it consist of?
Walter Roberson
on 25 Jun 2013
If "fn" is a cell so that fn{1} is a string that is the name of a file, then the only way that fn can be double two lines later is if the load() is clobbering "fn".
It is not completely impossible that fn{1} is a numeric value or vector that char() can be applied to in order to get a file name, but it seems unlikely.
Tom
on 25 Jun 2013
When you load fn{1}, are any of the variables that you load also called fn?
Kate
on 25 Jun 2013
Walter Roberson
on 25 Jun 2013
Then load() must be replacing "fn".
Put a breakpoint in before the load. Examine class(fn) . "step" past the load. Examine class(fn). Has it changed? What does
which regexp
return?
Kate
on 25 Jun 2013
per isakson
on 25 Jun 2013
Edited: per isakson
on 25 Jun 2013
Matlab (R2012a) does not have a function, load, which reads NetCDF-files.
Doc says: ncdisp, Display contents of NetCDF data source in Command Window
Try
ncdisp( '[...]alysis/Met_drivers/sens_heat/shtfl.1902.nc') % use full name
and read the documentation on NetCDF
Answers (0)
Categories
Find more on Data Import and Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!