MATLAB: Decreasing the lag on the Android Matlab app sensor data .

sensor data

Hi,I am a total newbie to matlab. I been trying to get sensor data from my android phone. I am getting the data but there is almost a lag of 1 second. here is my code
clear all
close all
clc
connector on;
m = mobiledev();
m.OrientationSensor = 1;
m.Logging = 1;
pause (4)
for c = 1:inf
o = m.Orientation
pause(0.1);
figure(1);
axis tight
hold on
plot(c,o(1),'.');
figure(2);
axis tight
hold on
plot(c,o(2),'.');
figure(3);
axis tight
hold on
plot(c,o(3),'.');
end

Best Answer

Your graphics is inefficient and is going to get worse as you increase the number of readings.
for K = 1 : 3
figs(K) = figure(K);
figax(K) = axes('Parent', figs(K));
axis(figax(K),'tight');
pline(K) = plot(figax(K), [], [], '.'); %exists but empty
end
drawnow();
crecord = zeros(4, 512); %pre-allocate for 512 points
for c = 1:inf
o = m.Orientation;
if c > size(crecord,2)
crecord(4,c+255) = 0; %grow the record if it is getting small
end
crecord(4,c) = c; %remember observation number
for K = 1 : 3
crecord(K, c) = o(K); %copy the current data into the record
set(pline(K),'xdata', crecord(4,1:c), 'ydata', crecord(K,1:c)); %update line
end
drawnow(); %repaint screen
end