📄 fivepointspolyfit.m
字号:
%滑动平均法消除趋势项
clear
close all hidden
%提示用键盘输入输入数据文件名
fni=input('滑动平均法消除趋势项-输入数据文件名:','s');
fid=fopen(fni,'r');%以只读方式打开数据文件
sf=fscanf(fid,'%f',1);%读入采样频率值
l=fscanf(fid,'%d',1);%滑动阶次
m=fscanf(fid,'%d',1);%读入平滑次数
fno=fscanf(fid,'%s',1);%读入输出数据文件名
x=fscanf(fid,'%f',[1,inf]);%读入时程数据存成行向量
status=fclose(fid);%关闭数据文件
n=length(x);
t=0:1/sf:(n-1)/sf;
%生成一个全为1的行向量
b=ones(1,l);
%信号两端分别向外延伸1个数据
a=[b*x(1),x,b*x(n)];
b=a;
%按平滑次数循环进行滑动平均处理计算趋势项
for k=1:m
for j=l+1:n-l
b(j)=mean(a(j-1:j+1));
end
a=b;
end
%用输入信号x减去与平滑趋势项a
y=x(1:n)-a(1+l:n+l);
%同时绘制x y的时程曲线
plot(t,x,':',t,a(l+1:n+l),'-.');
legend('输入','输出','趋势');grid on
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -