clc
clear all
% i_del=0;
%%%%数据读取
str=[];
% str1= [str,'*.csv'];
jiegou=dir('C:\Users\hnust_lqh\Documents\MATLAB\MATLAB\20181219\*.csv');%等价于下面这行
processedfile='C:\Users\hnust_lqh\Documents\MATLAB\MATLAB\20181219\tmp\data_corr.xls'; % 数据处理后文件
% jiegou=dir('');%按字母顺序排序,存在结构体内
% jiegou = struct2cell(jiegou);
geshu=length(jiegou);
% x=cell(1,geshu);
% cunchu=zeros(geshu,10);
% for i=1:geshu %自动给变量赋名和赋值,从Temp矩阵中提取温度和电阻值
%
% end
%%%数据读取与集成
Data=[];
for i=1:geshu
% i
filename=[str,'',jiegou(i,1).name];%赋予文件名
filename
% filename=['E:\matlab_work\tChart',num2str(i),'.xls'];
% try
% x(i,:)=csvread(filename);%filename本身就带' ',再加'','filename'出错
% x(i,:)=csvread(filename);%filename本身就带' ',再加'','filename'出错
x=csvread(filename); %数据读取
% eval(['Data',num2str(i),'=','x',';']);
Data=[Data;x]; %%数据集成
% catch
% recycle('on');
% filename
% delete(filename) %删除空文件
% i_del=[i_del,i];
% disp(['原始数据的第',num2str(i),'被删除了,-导出的空数据-:']);
% continue%直接执行下次循环
i
end
% %%
% %%数据清洗 去掉状态量、设定值等
Data_new=Data; %数据中含有缺失值
Data_new(:,[1:34 51 52 56 65:68 88:125 135])=[]; %清洗第4列的数据
% Data_new(:,10)=[]; %清洗第11列的数据,已经清洗了第4列,则11列数据变为第10列
% %%
% %数据缺失值插值
% Data_new1=Data_new;
% % Data_new1(Data_new==0) = nan; %找缺失值
% [rows,cols]= find(Data_new1 == 0); % 找到索引
% %%
% Data_new1([rows,cols]) = nan; %变成NAN
% %%
% Data_new1=ployinterp_column(Data_new,'lagrange'); %调用拉格朗日插值
%
% % Data_new1=ployinterp_column(Data_new1,'lagrange'); %调用拉格朗日插值
% end
% i_del
% x(i_del,:)=0;%删除空初始化命名的空行,无效问题
time=1:1:length(Data_new);
figure
num=length(Data_new(1,:));
for i=1:1:num
subplot(7,8,i)
plot(time,Data_new(:,i),'b');
i=i+1;
end
Data_new_1=Data_new;
%%清洗数值为零的数据
[a,b]=find(Data_new_1(:,1)==0);
Data_new_1(a,:)=[]; %清洗每一列有零的数据
figure
num1=length(Data_new_1(1,:));
time_1=1:1:length(Data_new_1);
for i=1:1:num1
subplot(7,8,i)
plot(time_1,Data_new_1(:,i),'b');
i=i+1;
end