integer operands are required for colon operator when used as index

Why do I get the warning "integer operands are required for colon operator when used as index" in the final line is this code:
vector_examined = rand(items,1); criteria = vector_examined < value; passes = find(criteria);

2 Comments

Would it be possible for you to post some self-contained code that will produce the error (without us having to guess what "items" and "value" look like)? For example, if I choose items=5 and value=0.2, your code runs just fine for me.
I do not see anything obvious. Is it possible that you typed this line in for us, rather than using copy-and-paste? Could you also show us the previous line?

Sign in to comment.

Answers (1)

Hello Ulrik,
Kindly share the entire code and associated files to help debug the issue.
The warning "integer operands are required for colon operator when used as index" typically occurs when one attempts to use non-integer values in indexing operations. Please ensure that:
  1. 'items' is a positive integer, as it defines the size of the vector
  2. 'value' is a scalar or a compatible size for comparison with 'vector_examined'.
Kindly refer to the following documentation to know more about indexing in MATLAB:

Tags

Asked:

on 24 Jan 2012

Edited:

on 16 Apr 2025

Community Treasure Hunt

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

Start Hunting!