MATLAB: Error using netcdf.putVar

netcdfnetcdf.putvar

I don't see a difference when compared to the Matlab help, any idea?
MATLAB CODE
close all
clear all
nlon=180;
nlat=90;
filenc=['slope.nc']
ncid = netcdf.create(filenc,'NC_WRITE');
%creating dimensions
dimid_lon = netcdf.defDim(ncid,'longitude',nlon);
%creating variables and attributes
varid_lon = netcdf.defVar(ncid,'longitude','double',dimid_lon);
netcdf.putAtt(ncid,varid_lon,'long_name','Longitude')
netcdf.putAtt(ncid,varid_lon,'units','degrees_east')
lont=linspace(-180,180,nlon);
netcdf.putVar(ncid,varid_lon,lont);
netcdf.close(ncid)
this is the output:
Error using netcdflib
The NetCDF library encountered an error during execution of 'putVarDouble' function -
'Operation not allowed in define mode (NC_EINDEFINE)'.
Error in netcdf.putVar (line 87)
netcdflib(funcstr,ncid,varid,varargin{:});
Error in toMatlabHelp (line 15)
netcdf.putVar(ncid,varid_lon,lont);

Best Answer

Try adding a call to end the definition using netcdf.enddef after you define the dimensions, but before you write the variable.