我的实验数据如下:
它具有不同的阶段,在每个阶段中,都有几个不需要的数据点(外围数据)。
这称为计时电流法测试,结果为“电流与时间”图。我想要的是在每个阶段自动返回正确的数字。第一步是检测和删除异常点。
我做的很简单,用每个点减去前面的点,如果相差很大,那就是一个阶段。
a=xlsread('s38.xlsx'); %load data
x=a(:,1); % first column
y=a(:,2)*1000000000;
x1=a(2:end,1);
x2=0:2:40;
[m n]=size(a);
for i=1:m-1
y1(i)=y(i+1)-y(i);
end
z=y1';
% for i=1:21
% t(i)=y(1000+450*i);
% end
%figure 1
subplot(2,2,1)
plot(x,y,'k','Marker','o','MarkerSize',2,'MarkerFaceColor','k','MarkerEdgeColor','k')
grid on
xlabel('time(s)')
ylabel('current(nA)')
xlim([1000 m])
subplot(2,2,2)
plot(x1,z,'k','Marker','o','MarkerSize',1,'MarkerFaceColor','k','MarkerEdgeColor','k')
grid on
xlabel('time(mM)')
ylabel('current difference(nA)')
我的问题:如何平滑此类数据? -使用哪种算法可以检测异常数据点?关键是有几个不同的阶段,每个阶段都有不同的趋势(不一定是平坦的)。