从matlab中获取加速度的位移数据

时间:2017-05-24 21:03:33

标签: matlab

我现在正在使用arduino和im卡片进行项目,我没有找到一种方法从我使用此代码的3轴加速度计得到的数据中获取位移数据:

    clear all, clc
%delete(arduino)
com='COM_31';
delete(instrfind({'Port'},{com}));
arduino=serial(com,'BaudRate',9600); 
fopen(arduino);  
while(1)
 donnee=fscanf(arduino,'%f\t %f\t %f'),  
 x=data(1); y=data(2) ;z=data(3),
 plot3(x,y,z)
 hold on
end  
fclose(arduino);

有一种简单的方法可以实现这一点并将结果绘制成3D 感谢,

1 个答案:

答案 0 :(得分:0)

如果从一开始就声明三个向量并用测量数据填充它们,则可以绘制整个轨迹。

clear all; clc
%delete(arduino)
com='COM_31';
delete(instrfind({'Port'},{com}));
arduino=serial(com,'BaudRate',9600); 
fopen(arduino);  
fig=figure(1);clf;
x=0;y=0;z=0;
vx=0;vy=0;vz=0;
tic
while(1)
 data=fscanf(arduino,'%f\t %f\t %f');
 dt = toc;tic;
 vx=vx+dt*data(1); 
 vy=vx+dt*data(2);
 vz=vz+dt*data(3);
 x(end+1)=x(end)+vx*dt;
 y(end+1)=y(end)+vy*dt;
 z(end+1)=z(end)+vz*dt;
 plot3(x,y,z)
end  
fclose(arduino);