[問題] 有沒有資料篩選比較有效率的方法(矩陣)已回收
正在當好人= =|||
事情是做完了,可是想問問有沒有比較有效率的作法!!
連備註都要寫清楚,好人不好幹!!
原始資料是一個 N 乘 8 矩陣資料
希望擷取整份文件中
第7行比第3行大的整列資料
然後另存成新的TXT檔
不知道有沒有更有效率的作法?
=================以下是我用迴圈去檢查的=====================
clear all;clc;
A=load('text.txt'); % 自己改要輸入的檔案名稱
B=[]; % 做一個矩陣叫做B 做起來放著!!
Z=size(A); % Z=A矩陣(資料)的大小(幾列幾行)
n=Z(1,1); % n=A矩陣的列數(就是你有幾筆資料)
m=1; % 等會會用到的數字,B矩陣(你想挑的資料)從第一筆開始
for i=1:n % 檢查的過程從第一筆資料到第n筆 (n在上面,自己看捏)
if A(i,7)>A(i,3) % 如果A矩陣(原始資料)第i列(筆)第7行比第3行大
% i從1開始1筆1筆慢慢增加一直檢查到n
% 也就是i=1跑一次 i=2跑一次 一直跑到i=n(最後一筆)
B(m,:)=A(i,:); % 如果檢查的結果符合你設定的條件(第3行大於第7行)
% 那B的第m筆資料(整行) = A的這一行(檢查通過的那一行)
m=m+1; % 如果檢查結果有符合你設定的條件m自動+1
% 也就是下一次他在找到有符合條件的,他會填在B的下1筆的位置
end
end
fid=fopen('text_out.txt','wt'); %自己改要輸出的檔案名稱(反正接下來就是輸出)
fprintf(fid,'%10.2f %10.2f %10.2f %10.2f %10.2f %10.2f %10.2f %10.2f\n',B');
fclose(fid);
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.62.138.52
推
06/09 22:45, , 1F
06/09 22:45, 1F
→
06/10 01:03, , 2F
06/10 01:03, 2F
→
06/10 01:03, , 3F
06/10 01:03, 3F