Problem with running a Matlab code.

10 vues (au cours des 30 derniers jours)
WAN NOR NAZIRA MUSTAPA KAMAL
I am having problem with the code where when I first run the code, the outcome that I get is data in values and graph but when I want to re run the code for the second time and so on, the outcome that I get is zero data values and the graph is in straight line. I am using MATLAB R2019a.Can you please help me to solve this problem.

Réponse acceptée

Daniel Pollard
Daniel Pollard le 21 Jan 2021
Clear your variables by putting the command
clear
at the start of your programme. It's almost certainly holding onto variables which affects repeated runs.
  1 commentaire
WAN NOR NAZIRA MUSTAPA KAMAL
I have already do it but it still give the same results when I re run the codes. This is the codes:
%% setup
hold all
a = arduino('COM3', 'Uno');
mpu = i2cdev(a,'0x68'); %mpu adress is normally 0x68
writeRegister(mpu, hex2dec('B6'), hex2dec('00'), 'int16'); %reset
data = zeros(10000,14,'int8'); %prelocating for the speed
j = 1;
a1 = animatedline('Color',[1 0 0]);
a2 = animatedline('Color',[0 1 0]);
a3 = animatedline('Color',[0 0 1]);
legend('Accel_x','Accel_y','Accel_z')
%% loop
while(true)
x=1;
for i=59:72 % 14 Data Registers for Accel,Temp,Gyro
data(j,x) = readRegister(mpu, i, 'int8');
x = x + 1;
end
y = swapbytes(typecast(data(j,:), 'int16')) %if your system is big-endian remove the swapbytes function
addpoints(a1,j,double(y(1)));
addpoints(a2,j,double(y(2)));
addpoints(a3,j,double(y(3)));
j = j+1;
drawnow limitrate
end

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Just for fun dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by