# Warning: Integer operands are required for colon operator when used as index

31 views (last 30 days)
Matthias Pospiech on 20 Feb 2012
Commented: Hannetjie on 6 Mar 2015
I am using fft functions and have twice in my code this warning message, bu no clue why I get the warning:
N = 2048*16;
sizeData = size(data,2);
cInput = zeros([1 N]); % <-- Warning
cInput = fftshift(cInput);
% transform
cfourier = fftshift(fft(cInput));
% iFFt
cOutput = ifft(ifftshift(cfourier));
cOutput = ifftshift(cOutput); % <-- Warning

Image Analyst on 20 Feb 2012
(N-sizeData)/2 can be a fractional number, e.g. "something point 5" so try

Matthias Pospiech on 21 Feb 2012
The line number really are the ones that I marked. So do not blame me, blame matlab.
Jan on 21 Feb 2012
@Matthias: I've never seen a bug in Matlab, which leads to a wrong line number for warnings. While I assume IA and Oleg point to the correct solution, there must be an additional problem.
Hannetjie on 6 Mar 2015
@Jan Simon: It is now 3 years later so my apologies if this has since been touched upon in newer posts... But I came across this same anomaly (and this is the first and only time I've seen it). When running my code through, I get
Warning: Integer operands are required for colon operator when used as index > In tdnoise3 at 73
The warning in my case makes no sense at line nr 73. However, if I step through the exact same code, I get
Warning: Integer operands are required for colon operator when used as index > In tdnoise3 at 81
Which does make sense and was where the fix was required.
But OK, has no bearing on the topic of this post.

Oleg Komarov on 20 Feb 2012
Perfectly fine
idx = 2.5:9;
But when you use to index a position:
A = rand(10,1);
A(idx)
There's no such a thing as position number 2.5

Jan on 20 Feb 2012
N = 2048*16;
cInput = zeros([1 N]); % <-- Warning
No, I do not get a warning in this code. Are you sure, that this is the original code?