|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?我要加入
x
[x,y]=xlsread('d:\book5'); %读取数据文件
a=x(:,1); %读取时间值,并定义为数组a,列向量
b=x(:,2); %读取加速度值,并定义为数组b,列向量
[c1,s1]=polyfit(a,b,1); %对加速度值进行线性拟合
h1=length(a);
t1=linspace(0,max(a),h1); %读取时间点,行向量
b1=c1(1)*t1+c1(2); %读取每个时间点对应的趋势项加速度值,行向量
averg=b-b1'; %获取加速度修正值,列向量
Arcm=norm(averg)/sqrt(length(averg)); %求取加速度有效值,列向量
%对加速度值进行数值积分-梯形公式
n1=length(b)-1;%设置循环体循环次数
ti=0.0005;
for i=1:n1
Vsum(i)=(b(i)+b(i+1))*ti/2;
end
for i=1:n1
if i==1
V1sum(i)=(b(i)+b(i+1))*ti/2;
else
V1sum(i)=V1sum(i-1)+(b(i)+b(i+1))*ti/2;
end
end
t2=linspace(0.0005,max(a),length(V1sum)); %读取速度时间点
[c2,s2]=polyfit(t2',V1sum',1); %对速度值进行线性拟合
plot(t2',V1sum','-',t2',c2(1)*t2'+c2(2),'r');
b2=c2(1)*t2+c2(2); %读取每个时间点对应的趋势项速度值
V2sum=V1sum'-b2'; %获取速度修正值
plot(t2',V2sum','-');
%V1rcm=norm(V1sum)/sqrt(length(V1sum)); %求取速度的有效值
V2rcm=norm(V2sum)/sqrt(length(V2sum)); %求取修正速度的有效值 |
|