any(cell{i}) doesn't work (loop)

9 views (last 30 days)
Kenan Hoyt
Kenan Hoyt on 25 Jun 2014
Edited: Kenan Hoyt on 25 Jun 2014
Hello
The following does not work at the part where cell arrays are. I believe the "any function" does not work the way i want it to - it doesn't produce an error, but it doesn't work either. I want to check if any of the values in cell a and N (which consists of vectors).
for i = 1 : length(W)
if X(i) < 20 || X(i) > 30 || Y(i) < 50 || Y(i) > 150 ...
|| any(a{i}) < 0 || any(a{i}) > 12 ...
|| any(N{i}) < 13 || any(N{i}) > 40
X(i) = [];
Y(i) = [];
a{i} = [];
N{i} = [];
fprintf('Error in test subject %d, discarding dataline.\n',l)
end
end

Accepted Answer

Titus Edelhofer
Titus Edelhofer on 25 Jun 2014
Could it be that you meant to write
any(a{i}<0)
instead of
any(a{i})<0
likewise for the others ??
Titus
  1 Comment
Kenan Hoyt
Kenan Hoyt on 25 Jun 2014
Edited: Kenan Hoyt on 25 Jun 2014
It works, thanks a lot! Now another problem occurs, though. In a loop 1:5, i changed the values in vectors 3 and 5 in X to 99999 and the following error occurs:
Error in test subject 3, discarding dataline.
Attempted to access X(5); index out of bounds because numel(X)=4.
Should i ask for this in a separate question? Edit: asking in a new question.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!