How to figure the MODIS snow cover against different elevation zones?
The problem (if there is only one) is in the way you are importing the data into .mat file. If with the files you provided I do

data = load('sc_8days.mat') ;
data = data.sc8days ;
[nx,ny,d] = size(data) ;
imagesc(data(:,:,1));


I get this nonsense:



and d=23, while the MOD10C2 data has only four bands: Eight_Day_CMG_Snow_Cover, Eight_Day_CMG_Cloud_Obscured, Eight_Day_CMG_Clear_Index, and Snow_Spatial_QA (see product specifications).

However, if I load the data and plot directly from the .hdf file you shared, with

data = hdfread('MOD10C2.A2000185.006.2016068190452.hdf','Eight_Day_CMG_Snow_Cover');
imagesc(data);


I get:



Which does makes sense and show the actual data.

Therefore, the way you are importing the data into your .mat file is messing things up.

The error is in this line

B2(i,j,1:24) = reshape(Eight_Day_CMG_Snow_Cover{i,j},[1 3 2]);


Because you are assigning the pixel i,j of each file using data from one file only, and also that should generate and error, I'm not quite sure how this code can run, as the size of Eight_Day_CMG_Snow_Cover is Kx1 and you are attempting to access elements i,j.

Anyway, that way is too cumbersome, avoid reshaping and using cell arrays by importing like this:

hdfvars =  {'Eight_Day_CMG_Snow_Cover', 'Eight_Day_CMG_Clear_Index',...
'Eight_Day_CMG_Cloud_Obscured', 'Snow_Spatial_QA'};
projectdir = 'E:\test\hdf test';
dinfo = dir( fullfile(projectdir, '*.hdf'));
num_files = length(dinfo);
filenames = fullfile(projectdir,{dinfo.name});

Eight_Day_CMG_Snow_Cover = zeros(3600,7200,num_files);
Eight_Day_CMG_Clear_Index = zeros(3600,7200,num_files);
Eight_Day_CMG_Cloud_Obscured = zeros(3600,7200,num_files);
Snow_Spatial_QA = zeros(3600,7200,num_files);

for K = 1 : num_files
    this_file = filenames{K};
    Eight_Day_CMG_Snow_Cover(:,:,K) = hdfread(this_file, hdfvars{1});
    Eight_Day_CMG_Clear_Index(:,:,K) = hdfread(this_file, hdfvars{2});
    Eight_Day_CMG_Cloud_Obscured(:,:,K) = hdfread(this_file, hdfvars{3});
    Snow_Spatial_QA(:,:,K) = hdfread(this_file, hdfvars{4});
end


So in this case, the variable Eight_Day_CMG_Snow_Cover contains what you wanted to put in B2.