Subscript indices must either be real positive integers or logicals.
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I am trying to find the on/off times of EMG data, but MATLAB is giving the following error for the line with stars in my code:
Subscript indices must either be real positive integers or logicals.
I'm not sure what this means for my data. Any explanations would be helpful.
%%Find the on/off times of the EMG data within each rep
i = 1;
j = 1;
for r = 1:length(spans(:,1))
if spans(r,1) == 1 && spans(r-1,1) == 0
%The first marker point
first_marker = r;
end
end
thresh = 2.*std(EMG(1:first_marker));
for a = 1:7
EMGreps = Repetitions{1,a};
for c = 1:7
for r = 1:length(EMGreps)
if EMGreps(r,1) > thresh && EMGreps(r-1,1) < thresh
% Determines if the EMG data is on
On_EMG(i,c) = r/sampRate;
i = i + 1;
end
*** if EMGreps(r,1) < thresh && EMGreps(r-1,1) > thresh
% Determines if the EMG data is off
Off_EMG(j,c) = r/sampRate;
j = j + 1;
end
end
end
end
2 Kommentare
Image Analyst
am 9 Dez. 2014
Like almost everyone else, you don't include the full error message. Please copy and paste ALL THE RED TEXT - don't just snip out a small part of it that leaves out the crucial information like what line of code the error happened at.
Akzeptierte Antwort
Geoff Hayes
am 9 Dez. 2014
Alyna - the error message is telling you that an index into an array must be a positive integer or logical. In your case, you are trying to use zero as an index into EMGreps at
EMGreps(r-1,1)
which is the second condition in both of your if statements. Note how the index variable r starts at one, and so r-1 is zero. Start this variable at two and you should be good to continue
for r=2:length(RMGreps)
% etc
end
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Spectral Estimation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!