Index in position 2 exceeds array?

2 次查看(过去 30 天)
Ryan Leonard
Ryan Leonard 2018-3-16
评论: dpb 2018-3-18
My code starts at connector on:
connector on MDTP1
m = mobiledev;
m.AngularVelocitySensorEnabled = 1;
m.AccelerationSensorEnabled = 1;
m.Logging = 1;
for K = 1 : 5; pause(1); end
m.Logging = 0;
[av, tav] = angvellog(m);
[o, to] = orientlog(m);
yAngVel = av(:,2);
roll = o(:, 3);
plot(tav, yAngVel, to, roll);
legend('Y Angular Velocity', 'Roll');
xlabel('Relative time (s)');
tInit = datetime(m.InitialTimestamp, 'InputFormat', 'dd-MM-yyyy HH:mm:ss.SSS');
tAngVel = tInit + seconds(tav);
tOrient = tInit + seconds(to);
yAngVelDeg = yAngVel * 180/pi;
plot(tAngVel, yAngVelDeg, tOrient, roll);
legend('Y Angular Velocity', 'Roll');
xlabel('Absolute time (s)');
m.AngularVelocitySensorEnabled = 0;
clear m;
So I made this program, and it runs on my Android phone. It's supposed to collect data from the sensors available in the mobile MATLAB app and graph it. I ran the program once, and it worked. But now this error pops up when I run the code:
index in position 2 exceeds array bounds.
What does this mean and how would I fix it?
  5 个评论
Greg
Greg 2018-3-18
A lot of objects ( tcpip, udp, timer) don't die with clear, just the variable from the workspace. This might be true of mobiledev objects. Try:
delete('m');
clear('m');
On top of what dpb recommends.
dpb
dpb 2018-3-18
Good point Greg, I think there should be automagic destructors called so one isn't left with zombies...

请先登录,再进行评论。

回答(1 个)

Greg
Greg 2018-3-18
编辑:Greg 2018-3-18
Adjust your code to:
connector off
clear m

类别

Help CenterFile Exchange 中查找有关 Sensor Data Collection 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by