Why do I get a warning about 'Integer Operands Are Required for Colon Operator When Used as Index' ?

706 views (last 30 days)

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 11 Oct 2021
Edited: MathWorks Support Team on 17 Nov 2021
Explanation:
You have used a noninteger value as one of the parameters (starting value, increment, or stopping value) for the colon (:) operator when using it to create a vector of indices to reference into a function.
Common causes:
You performed computations to obtain the starting or stopping values for the indexing but the result of those computations was not exactly an integer.
Solution:
Modify the index computations using the FIX, FLOOR, CEIL, or ROUND functions to ensure that the indices are integers. You can test if a variable contains an integer by comparing the variable to the output of the ROUND function operating on that variable when MATLAB is in debug mode on the line containing the variable.
https://www.mathworks.com/help/matlab/ref/fix.html
https://www.mathworks.com/help/matlab/ref/floor.html
https://www.mathworks.com/help/matlab/ref/ceil.html
https://www.mathworks.com/help/matlab/ref/round.html
Example demonstrating this error:
IntegerOperandsRequired.m
  2 Comments
Steven Lord
Steven Lord on 4 Apr 2023
The "Error Breakpoints" category of breakpoints listed on this documentation page does not simply allow you to enter debug mode when an error occurs. Also included in that category are the ability to enter debug mode when a warning is issued or when either Inf or NaN are created in your code. So set an error breakpoint to stop when a warning is issued, run your code, and see where MATLAB enters debug mode.

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

No tags entered yet.

Products

Community Treasure Hunt

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

Start Hunting!