How do I tell Matlab a loop index is an integer?
17 views (last 30 days)
Show older comments
Alexander MacFarlane IV
on 22 Feb 2019
Commented: Alexander MacFarlane IV
on 22 Feb 2019
I am perplexed by the fact that niether loop indeces or the number 3 are considered integers.
The script (called WhyNotIntegers)
for i = 1:3
idivide(i,3,'round')
end
produces these errors when run:
Error using idivide>idivide_check (line 66)
At least one argument must belong to an integer class.
Error in idivide (line 42)
idivide_check(a,b);
Error in WhyNotIntegers (line 2)
idivide(i,3,'round')
Error in run (line 96)
evalin('caller', [script ';']);
0 Comments
Accepted Answer
Image Analyst
on 22 Feb 2019
They're doubles that just happen to have integer values. Convert them to integers since that's what idivide wants. Try this:
for k = 1:3
idivide(int32(k), int32(3),'round')
end
See Also
Categories
Find more on Matrix Indexing in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!