How can I construct a for loop to read a multidimensional array from a single .nc file?
2 次查看(过去 30 天)
显示 更早的评论
how can i construct a for loop for the below mentioned code? not able to attatch file since the file exceeds 5mb.
filename='MYD11A1.061_1km_aid0001.nc'
ncdisp(filename)
lon = ncread(filename,'lon');
lat = ncread(filename,'lat');
LST=ncread(filename,'LST_Day_1km');
% to read entire data from the .nc file
L1=LST(:, :, 1);
L2=LST(:, :, 2);
L3=LST(:, :, 3);
L4=LST(:, :, 4);
L5=LST(:, :, 5);
................
L365=LST(:, :, 365); % i need a for loop for this code
0 个评论
回答(1 个)
Luca Ferro
2023-1-16
编辑:Luca Ferro
2023-1-16
i would define L* as an array and populate it one element at a time, supposing tha the dimension (365) is fixed and known:
L=zeros(1,365) %preallocate for speed
for jj=1:365
L(jj)=LST(:,:,jj);
end
you can then access each element as:
L(1)
L(2)
...
L(365)
4 个评论
Luca Ferro
2023-1-17
I don't think that's an error within the code. It's just a matlab limitation. Viewing an array of that dimension in the workspace makes little no sense anyways.
Just check that you have all the ';' at the end of the lines when needed and if you want further insight on the matter refer to one of these questions:
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!