-3
我有大約2400個文件(其中一些是tsv,另一些是.txt)。我被告知他們是72x144(但我沒有檢查全部)。當我運行此腳本:下標分配尺寸不匹配3
load area.mat %Area Calculation %
%area= transpose(area);
area= repmat(area,1,144); % replicating the vector area 144 times
files= dir('200*'); % loading files of June
for m=1:length(files)
June(:,:,m)= dlmread(files(m).name); % loading files in a 3 dimensional %matrix
end
June(June<0)= NaN; % replacing outliers by Not a Number NaN
outliers = isnan(June); % detect NaNs
t= 1:numel(June); % creating a variable t which take values from 1 to number %of elements of matrix June
June(outliers) = interp1(t(~outliers), June(~outliers), t(outliers),'nearest'); % interpolating NaNs by nearest values
z= mean(June,3); % obtaining a matrix June that consists of averages of same cells
June_temp= z.*area; % weighing temperatures by fractions of areas ???????
June_AvgTemp= sum(June_temp(:));
fprintf('The average temperature of June is %0.4f Kelvins, %0.4f degrees Celsius\n',June_AvgTemp,June_AvgTemp-273.15)
我得到的錯誤:
下標的轉讓尺寸不匹配。
near_F_script(第16行)的錯誤 June(:,:,m)= dlmread(files(m).name);在三維矩陣中加載文件的百分比
我真的很感謝你的幫助!謝謝
你有一個不是72 x 144的文件。 – Suever
謝謝你的回答。我認爲這一定是問題,因爲當我的循環達到m = 969時,它給了我那個錯誤信息。我不認爲這將是唯一的文件,因爲我有大約12000個文件,而且只有一年。我將獲得更多文件,因爲我需要10年的文件。那麼是否有方法可以在該循環中插入另一個腳本,以便每當一個文件不具有72x144尺寸時,它會插入缺失值?同時我怎麼才能得到有問題的文件的名稱?在這種情況下,相應的m是969.謝謝你幫助我! –
我只是在運行腳本之前調用'dbstop if error',然後它會將調試提示放置在發生錯誤的位置,您可以調查哪個文件導致問題,以及爲什麼 – Suever