MATLAB中如何将离散加速度积分求得速度
来源:互联网 发布:淘宝网兼职怎么做 编辑:程序博客网 时间:2024/05/18 02:36
方法一:
E=load('C:\Users\Administrator\Desktop\in.txt');
D=E-sum(E(:,1))/length(E);
figure(1)
plot(D)
title('滤波前加速度')
%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 积分%%%%%%%%%%%%
dt=0.1;
Sx=0;
for i=1:1:length(D)
Sx=D(i,1)*dt+Sx ;%从最值位置叠加加速度
Vx(i,1)=Sx; %速度矩阵
end
figure(2)
subplot(2,1,1)
plot(Vx)
ylabel('速度')
%%% 直流分量确定和积分基线的标定 %%%%%%%%%%%%%%%%%%%%%
Vx=Vx-sum(Vx(:,1))/length(Vx);
% Sx2=dt*cumtrapz(Vx-0.04) %X方向位移矩阵,其中0.04为通过整周期积分得出的直流分量值。
Sx2=dt*cumtrapz(Vx); %X方向位移矩阵,其中Vx为通过标定后的速度矩阵。
subplot(2,1,2)
plot(Sx2)
ylabel('位移')
方法二:
将下面内容保存为Simpson.m
function y= Simpson(f,a,b,M)
% f被积函数;a积分下限;b积分上限;M子区间个数(将x分为多少个区间)
if M==0
y=0;
else
h=(b-a)/(2*M);
s1=0;
s2=0;
for i=1:M
x=a+(2*i-1)*h;
s1=s1+feval(f,x);
end
for j=1:(M-1)
x=a+2*j*h;
s2=s2+feval(f,x);
end
y=h/3*(feval(f,a)+2*s2+4*s1+feval(f,b));
end
在命令行输入
f=@(t)sin(t);
I=[];
M=floor(2*pi/0.01);
for i=0:M
y=Simpson(f,0,2*pi/M*i,i);
I=[I,y];
end
t=0:0.01:2*pi;
plot(t,I);
参考文档:
http://wenku.baidu.com/link?url=Ev0hrBVSJi-0gS98fEx9eEUCOwt6-d5-k30Qm1Tza-Ho2Fv3iif7rGoDD-b3jru9ebuBZzxpK6lCPIiQv00sCdqn_kPjr0XdTOI7AFrNEi7
- MATLAB中如何将离散加速度积分求得速度
- HDU 5826 速度+加速度+积分
- matlab中如何绘制离散点的fft的图
- matlab中处理图像如何加快处理速度?
- 如何将Excel数据导入MATLAB中
- 通过MatLab将传递函数离散化
- 循环命令实现6个轴的速度差分得到加速度-matlab
- matlab数值积分中函数积分的4种方法
- f(x)*(-1)^x的离散傅里叶变换及Matlab中如何绘制坐标轴
- Flash速度与加速度公式
- Matlab积分
- 【Matlab】积分
- matlab/simulink/simpowersystem中连续vs离散
- matlab中传递函数的离散化
- DB2 如何求得时间差值
- 如何将MATLAB数据导入到PROE中
- matlab如何将二进制文件写入txt文档中
- 如何将一个新函数加到MATLAB函数库中
- R语言:数据类型
- 开发一个评分程序
- Bitmap 和 Drawable 的区别及转换
- CodeForces 698A—Vacations(贪心)
- char & unsigned char & signed char
- MATLAB中如何将离散加速度积分求得速度
- hdu4395(01背包)
- 51nod 1120 机器人走方格v3
- poj1860 Currency Exchange(flody)
- Git用户手册--Git 工具
- C++基础:输入输出的格式控制
- hibernate类之间继承关系映射
- AFNetworking提示Invalid parameter not satisfying: URLString
- Swift 2.3 【Swift 和 Javascript 如何相互调用】