我有一個文件在一個月內達到30個文件在一個月中。每個文件包含86400行,具有以下數據格式,如下所示: 小時最小秒值1值2值3 ..... 但是,該文件包含很多缺失的行。因此,通過使用interpolation.later檢查每個文件 插入缺少的行變得單調乏味,我必須將一個文件追加到另一個文件以便爲每個月創建一個大文件= 86400 * 30行)。謹建議我可以補償時間和人力的任何代碼。在matlab中處理數據
回答
要閱讀所有的文件和堆棧數據,以形成B
, 可以用在文件名的循環:
for d = 1:30
filename = sprintf('file%d.txt', d);
A{ d } = load(filename);
% complete missing values in A{d} here, for example using interpMissingRows below
A{ d } = interpMissingRows(A{ d });
end
B = vertcat(A{:});
爲了計算缺少項,您可以插值:
function interpData = interpMissingRows(data)
% compute seconds from 00:00:00 (assuming first entry is 0, 0, 0, val1 val2...
absSec = data(:,1:3) * [ 3600; 60; 1]; % matrix multiplication!
numValues = size(data,2) - 3; % number of colums to interpolate
totSec = 24*3600; % number of seconds in 24Hours
interpData = zeros(totSec, 3 + numValues); % pre-allocate
interpData(:,1) = floor((0:totSec-1)'/3600); % hours
interpData(:,2) = floor(((0:totSec-1)' - interpData(:,1)*3600)/60); % minutes
interpData(:,3) = mod( (0:totSec-1)', 60); % seconds
interpData(:, 4:end) = interp1(absSec, data(:, 4:end), (0:totSec-1)', 'linear','extrap');
@Shai ...我已經成功地運行了1或2個文件的代碼。但是我仍然發現在matlab中有嚴重的錯誤評論as.Please Kindly rectify它..... ???錯誤使用==> interp1在259 X的值應該是不同的。 (0,totSec-1)','線性','extrap')中的錯誤== ==> interpMissingRows 10 interpData(:, 4:end)= interp1(absSec,data(:, 4:end) ; 錯誤在==> catenation at 8 A {d} = interpMissingRows(A {d}); – Bunnies
@PrasantaChingtham看起來你的文件似乎有一個重複的行:這是具有相同小時,分鐘,秒值的兩個條目。 – Shai
@Shai ...我用獨特的方法刪除行中的重複... A {d} =唯一(A {d},'rows');它不起作用。任何替代方法都可以刪除重複的行.. – Bunnies
- 1. 在MATLAB中刪除/處理數據
- 2. 在Matlab中處理二進制數據
- 3. Matlab數組處理
- 4. 在Matlab中的數字信號處理
- 5. 在MATLAB中用vpa處理大數字
- 6. 同時在matlab中處理多個數據
- 7. 在Matlab中對數據庫輸入進行消毒處理?
- 8. Matlab的 - 處理
- 9. 在Matlab中使用textscan處理數據格式不正確的數據
- 10. MATLAB vs Simulink在數字圖像處理?
- 11. matlab中的圖像處理
- 12. Matlab中的鼠標處理
- 13. MATLAB中的閾值處理
- 14. 功能處理在MATLAB
- 15. 嵌套循環用於MATLAB中的列數據處理
- 16. 在Matlab中處理多個圖像
- 17. 在MATLAB中處理多個圖
- 18. 在Matlab中使用DLL處理DLL
- 19. 在matlab中合併和處理文件
- 20. 在matlab中處理字符串
- 21. 如何在Matlab中處理MySQL關機?
- 22. 在matlab中處理結構GUI
- 23. 圖像處理在MATLAB中的錯誤
- 24. 在Matlab中實時攝像頭處理
- 25. MATLAB(圖像處理)
- 26. Matlab處理邊緣
- 27. Matlab'圖像處理'
- 28. Matlab圖像處理
- 29. MATLAB - 視頻處理
- 30. 在二維數組中處理數據
你有什麼嘗試? –
已手動檢查每個文件以確保不應有缺失的行。然後,我運行這個程序A1 = load('file1.txt'); ------------------ ----------------- A30 = load('file30.txt'); B = [A1; A2 ....... A30]。 B包含86400 * 30行.......... – Bunnies