Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

Using regexp on a double array

Asked by Kate

Kate (view profile)

on 24 Jun 2013

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

Walter Roberson

Walter Roberson (view profile)

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

Kate (view profile)

on 25 Jun 2013

Walter, now I see what you're saying. Perhaps this is a netcdf issue. I wrote this code for .m files and it worked fine, but now my fn is empty when I use it on .nc files. Frustrating.

per isakson

per isakson (view profile)

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

Kate

Kate (view profile)

Products

0 Answers

Contact us