gex=wextend('1D','sym',VarName2,2);
f1=[-3;12;17;12;-3]/35;
gg1=[gex(1:end-4) gex(2:end-3) gex(3:end-2) gex(4:end-1) gex(5:end)]*f1;
subplot(2,2,1)
plot(VarName2)
hold on
plot(gg1,'r')
title('2次5点圆滑')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
gex=wextend('1D','sym',VarName2,3);
f2=[-2;3;6;7;6;3;-2]/21;
gg2=[gex(1:end-6) gex(2:end-5) gex(3:end-4) gex(4:end-3) gex(5:end-2) gex(6:end-1) gex(7:end)]*f2;
subplot(2,2,2)
plot(VarName2)
hold on
plot(gg2,'r')
title('2次7点圆滑')
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
n=length(VarName2(2:end));
a=VarName2(2:end);
for k=1:n
b(1) = (69*a(1) +4*(a(2) +a(4)) -6*a(3) -a(5)) /70;
b(2) = (2* (a(1) +a(5)) +27*a(2) +12*a(3) -8*a(4)) /35;
for j=3:n-2
b (j) = (-3*(a(j-2) +a(j+2)) +12*(a(j-1) +a(j+1)) +17*a(j)) /35;
end
b (n-1) = (2*(a(n) +a(n-4)) +27*a(n-1) +12*a(n-2) -8*a(n-3)) /35;
b (n) = (69*a(n) +4* (a(n-1) +a(n-3)) -6*a(n-2) -a(n-4)) /70;
a=b;
end
gg3=a;
subplot(2,2,3);
plot(VarName2);
hold on;
plot(gg3,'r');
title('3次5点平均圆滑')
评论0