MATLAB讀取整個文件夾(或多個文件夾)內所有txt文件,並將文件進行數據分類繪圖plot

a = ones(4000,6);%定義變量
pm3_1=dir('C:\Users\add oil\Desktop\數據\pm3_1\*.txt'); %根據文件夾中的文件格式,選擇讀取類型
n = length(pm3_1); %%數組大小
full_data = cell(n,1);%%生成n*1的元胞
for k=1:n
filename = ['C:\Users\add oil\Desktop\數據\pm3_1\',pm3_1(k).name];%%構造第k個文件的位置
full_data{k} = importdata(filename);%%將文件夾中的文件每個作爲一個元胞按行存儲在元胞中
temp = cell2mat(full_data(k,:));%從struct中讀取文件返回矩陣形式,以便後續處理使用
temp = size(temp);
temp = temp(1,1);
a(1:temp,k) = cell2mat(full_data(k,:));%這幾句主要爲了讓不定長數組也能存到總數組中
end
% a(1:3931,1)=importdata('C:\Users\add oil\Desktop\數據\pm3_1\pm1120181210T153206.txt');  %另一種導入數據方法
% a(1:3931,2)=importdata('C:\Users\add oil\Desktop\數據\pm3_1\pm1220181210T153206.txt');
% a(1:3931,3)=importdata('C:\Users\add oil\Desktop\數據\pm3_1\pm2120181210T153206.txt');
% a(1:3931,4)=importdata('C:\Users\add oil\Desktop\數據\pm3_1\pm2220181210T153206.txt');
% a(1:3993,5)=importdata('C:\Users\add oil\Desktop\數據\pm3_1\ref120181210T153206.txt');
% a(1:3992,6)=importdata('C:\Users\add oil\Desktop\數據\pm3_1\ref220181210T153206.txt');
% subplot(2,2,1);%以下幾句用最後的for同樣實現
% p1 = plot(a,'r');
% hold on;
% p2 = plot(b,'g');
% grid on;
% subplot(2,2,2);
% p3 = plot(c,'r');
% hold on;
% p4 = plot(d,'g');
% grid on;
% subplot(2,2,3);
% p5 = plot(e,'r');
% hold on;
% p6 = plot(f,'g');
% grid on;
for i=1:3          
subplot(3,3,i);
p1 = plot(a(:,(2*i-1)),'r');
hold on;
p2 = plot(a(:,(2*i)),'g');
grid on;  
xlabel('pm3_1','Interpreter','none');
if(i<3)
 legend('test1','test2');
else
 legend('biaozhun1','biaozhun2'); 
end 
end

進階版(讀取多個文件夾):

a = ones(4000,6);
b = ones(4000,6);
c = ones(4000,6);%定義變量
pm3_1=dir('C:\Users\add oil\Desktop\數據\pm3_1\*.txt'); %根據文件夾中的文件格式,選擇讀取類型
pm3_2=dir('C:\Users\add oil\Desktop\數據\pm3_2\*.txt');
pm3_3=dir('C:\Users\add oil\Desktop\數據\pm3_3\*.txt');
n = length(pm3_1); %%文件多少
full_data1 = cell(n,1);%%生成n*1的元胞
full_data2 = cell(n,1);
full_data3 = cell(n,1);
for k=1:n
filename = ['C:\Users\add oil\Desktop\數據\pm3_1\',pm3_1(k).name];%%構造第k個文件的位置
full_data1{k} = importdata(filename);%%將文件夾中的文件每個作爲一個元胞按行存儲在元胞中
temp = cell2mat(full_data1(k,:));%從struct中讀取文件返回矩陣形式,以便後續處理使用
temp = size(temp);
temp = temp(1,1);
a(1:temp,k) = cell2mat(full_data1(k,:));

filename = ['C:\Users\add oil\Desktop\數據\pm3_2\',pm3_2(k).name];%%構造第k個文件的位置
full_data2{k} = importdata(filename);%%將文件夾中的文件每個作爲一個元胞按行存儲在元胞中
temp = cell2mat(full_data2(k,:));%從struct中讀取文件返回矩陣形式,以便後續處理使用
temp = size(temp);
temp = temp(1,1);
b(1:temp,k) = cell2mat(full_data2(k,:));

filename = ['C:\Users\add oil\Desktop\數據\pm3_3\',pm3_3(k).name];%%構造第k個文件的位置
full_data3{k} = importdata(filename);%%將文件夾中的文件每個作爲一個元胞按行存儲在元胞中
temp = cell2mat(full_data3(k,:));%從struct中讀取文件返回矩陣形式,以便後續處理使用
temp = size(temp);
temp = temp(1,1);
c(1:temp,k) = cell2mat(full_data3(k,:));
end
for i=1:3          
subplot(3,3,i);
p1 = plot(a(:,(2*i-1)),'r');
hold on;
p2 = plot(a(:,(2*i)),'g');
grid on;  
xlabel('pm3_1','Interpreter','none');
if(i<3)
 legend('test1','test2');
else
 legend('biaozhun1','biaozhun2'); 
end 
end

for i=1:3          
subplot(3,3,i+3);
p1 = plot(b(:,(2*i-1)),'r');
hold on;
p2 = plot(b(:,(2*i)),'g');
grid on;  
xlabel('pm3_2','Interpreter','none');
if(i<3)
 legend('test1','test2');
else
 legend('biaozhun1','biaozhun2'); 
end 
end

for i=1:3          
subplot(3,3,i+6);
p1 = plot(c(:,(2*i-1)),'r');
hold on;
p2 = plot(c(:,(2*i)),'g');
grid on;  
xlabel('pm3_3','Interpreter','none');
if(i<3)
 legend('test1','test2');
else
 legend('biaozhun1','biaozhun2'); 
end 
end


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章