使用Arduino,NeoGPS和MPU6050,我可以在SD卡上记录一些数据。
在Matlab上,我正在将MPU6050的加速从字节值转换为m / s ^ 2.
我有一个土木工程师的背景,所以我对编码不太实际。
我想知道是否存在更有效的解决方案,特别是使用索引?
这是我的 dumb 代码
%Open the file
filename= uigetfile ('.csv');
fileID = fopen (filename);
logmpu6050 =csvread(filename);
fclose (fileID);
%Converting acceleration from Byte to m/s^2
[ax,ay,az]=convms(logmpu6050);
%Replacing the old accelaration values with the new
cat1=logmpu6050(:,1:8);
cat2=cat(2,ax,ay,az);
cat3=logmpu6050(:,13:15);
newlogmpu6050= cat(2,cat1,cat2,cat3);
总是感谢您的耐心等待!
答案 0 :(得分:1)
由于ax, ay, az
在中间串联,它会破坏您用于索引到logmpu6050
的流量,因此您无法完全使用索引来创建矩阵。
但是如果你想在一行中完成,你可以这样做:
newlogmpu6050 = [logmpu6050(:,1:8) ax ay az logmpu6050(:,13:15)];
这仍然可以执行所需的连接,但您不会不必要地调用cat
而对我来说这看起来很整洁。