Matlab 在将ASCII文件转换为NetCDF时,如何将数据列读入while循环?
我正试图通过MATLAB将一个大的ASCII文件转换成NetCDF。这是一个15329 x 16列的气候文件Matlab 在将ASCII文件转换为NetCDF时,如何将数据列读入while循环?,matlab,loops,ascii,netcdf,Matlab,Loops,Ascii,Netcdf,我正试图通过MATLAB将一个大的ASCII文件转换成NetCDF。这是一个15329 x 16列的气候文件 nccreate('monthly_tmp.nc', 'monthly_temperatures', 'Dimensions', {'ff' 12 'lon' 180 'lat' 180}, 'Format','classic') fid=fopen('tmp.mat'); var=zeros(12); while ~feof(fid) coor=fscanf(fid,
nccreate('monthly_tmp.nc', 'monthly_temperatures', 'Dimensions', {'ff' 12 'lon' 180 'lat' 180}, 'Format','classic')
fid=fopen('tmp.mat');
var=zeros(12);
while ~feof(fid)
coor=fscanf(fid, '%d', 2);
var=fscanf(fid, '%f', inf);
lat=coor(1); lon=coor(2);
ncwrite('monthly_tmp.nc', 'monthly_temperatures', var (1 lat, lon));
end
列以纬度、经度、年份和12个月值列出
我需要先读取lat和lon,然后给网格分配一个月值
所以我需要第1列和第2列,然后第4-15列是我的温度值
我真的被困在如何将变量输入while循环中
谢谢你的帮助
tmp.mat
是普通的matlab数据文件吗?如果是这样,您需要加载.mat
文件,而不是尝试fopen
它。加载后,您将得到一个15329 x 16
变量。你可以为每一行做一个for循环,然后按照你想要的方式写入数据。我已经将文件加载到matlab中了。因此,我是否能够在代码中打开它,因为它已经加载到它中了?