how can i use a loop to run the specific code

If there are number of datafiles in the current folder, how can i use a loop to run the specific code? attaching the code. the folder name is 2002. and data file names are 200201,200202,200203 etc. I need a single matrix giving the Q values for all the data files.
data_Wwind=netcdf('E:\data\2002\200201.nc'); % input address of data folder
cot=data_Wwind{'M2TMNXRAD_5_12_4_TAUHGH'}(:);
th5 = cot > 5;
B = double(th5);
Q=sum(B(:) == 1);

 采纳的回答

ncFiles = dir('E:\data\2002\*.nc')
N = length(ncfiles) ;
Q = zeros(N,1) ;
for i = 1:N
ncFile = fullfile(ncFiles(i).folder,ncFiles(i).name) ;
cot=data_Wwind{'M2TMNXRAD_5_12_4_TAUHGH'}(:);
th5 = cot > 5;
B = double(th5);
Q(i)=sum(B(:) == 1);
end

6 个评论

Here data_Wwind is undefined. Can we make data_Wwind run for each of the data files and have the Q?
It seems you have to extract it from netcdf file.....You have not specified it in your question, how you have got that variable.
data_Wwind=netcdf('E:\Cirrus Work\new\COTdata\2002\200208.nc'); % input address of data folder
This line to be inserted for all the files in the loop
I have mentioned that variable in the first line.
This is not a problem.....you can do it...
data_Wwind=netcdf(ncFile);
ncFiles = dir('E:\data\2002\*.nc');
N = length(ncFiles) ;
Q = zeros(N,1) ;
for i = 1:N
ncFile = fullfile(ncFiles(i).folder,ncFiles(i).name) ;
data_Wwind=netcdf(ncFile);
cot=data_Wwind{'M2TMNXRAD_5_12_4_TAUHGH'}(:);
th5 = cot > 3;
B = double(th5);
Q(i)=sum(B(:) == 1);
end
I have used this code to find the total number of pixels those are above threshold 3 for all the data files in the folder. How can I find the mean value of cot for all the data files only for the pixels those are above threshold three(3)?

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by