1
我正在處理使用Matlab從.csv文件進行數據分析。我必須使用所有文件的相同公式分析數百個.csv文件中的數據。數據的輸出將存儲在一個矩陣(nrow和ncolumn)中。Matlab批處理.csv文件
我有一個問題,當計算完成時,矩陣的第一列給出了正確的答案,而其餘的列給出了錯誤的答案。任何人都可以幫我解決這個問題嗎?
這是我的代碼。
%% importing the csv file with selected column
files=dir('*.csv');
for r=1:length(files);
LHR=importcsv(files(r).name);
%% Calculation of SMD
% Define These Value
TAW=-216;
RAW=-129;
% The very first row of Soil Moisture Deficit
for j=1
SMD(j,r)=(LHR.RAIN(j)-LHR.PET(j));
if SMD(j,r)>0;
SMD(j,r)=0;
elseif SMD(j,r)<RAW;
SMD(j,r)=(LHR.RAIN(j)-(LHR.PET(j)*((TAW-SMD(j-1))/(TAW-RAW))));
end
end
%for the following SMD Calculation
for o=2:(numel(LHR.RAIN));
SMD(o,r)=SMD(o-1)+(LHR.RAIN(o)-LHR.PET(o));
% The SMD conditions
if SMD(o,r)>0;
SMD(o,r)=0;
elseif SMD(o,r)<RAW;
SMD(o,r)=SMD(o-1)+(LHR.RAIN(o)-(LHR.PET(o)*((TAW-SMD(o-1))/(TAW-RAW))));
end
end
end
輸出的變量名稱'SMD'是什麼?在這種情況下,「錯誤」是什麼意思?您是否嘗試過使用[調試器](http://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html)來查看每個步驟正在寫入的內容? – excaza
@excaza是的,我的輸出變量名稱是SMD,我是Matlab新手,從未使用調試器,會嘗試使用調試器來查看寫入內容。我所說的錯誤是計算的值與其顯示的不同,我試圖用excel計算進行比較,顯然只有第一列值是正確的。 – SABER