-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)
を私はエラーを取得します。
エラー:almost_F_script(line 16) June(:、:m)= dlmread(files(m).name); %3次元マトリックスにファイルをロードする
私は本当にあなたの助けに感謝します!ありがとうございました
72 x 144以外のファイルがあります。 – Suever
ありがとうございます。私はループがm = 969になったときにエラーメッセージを表示するので、問題であるはずです。私は約12000のファイルを持っており、それは1年間しかないので、それが唯一のファイルになるとは思わない。私は10年のファイルが必要なので、私はより多くのファイルを取得します。そのループの中に別のスクリプトを挿入する方法があるので、72x144次元を持たないファイルの場合は、欠損値を補間するでしょうか?一方、問題を抱えているファイルの名前を取得するにはどうすればよいですか?この場合、対応するmは969です。私を助けてくれてありがとう! –
スクリプトを実行する前に 'dbstop if error'を呼び出すだけで、エラーが発生した場所でデバッグプロンプトが正しく表示され、問題の原因となっているファイルと原因を調べることができます – Suever