MATLAB: Index must be a positive integer or logical

errorintegerlogical?matrix

Here is the portion of code that I am using currently that is giving me this error:
A = interpolate;
averg = mean([A(1:end-2),A(3:end)],2);
real_num = A(2:end-1);
streaking = [];
for idx = real_num
streaking(:,idx) = (abs(A(:,idx)-averg(idx))./averg(idx))*100;
end
>> Attempted to access A(:,73.2855); index must be a positive integer or logical.
>> Error in rad_cal2 (line 818)
streaking(:,idx) = (abs(A(:,idx)-averg(idx))./averg(idx))*100;
interpolate is a matrix

Best Answer

The solution will depend on what you want to do. You could simply do:
for idx = round(real_num)
streaking(:,idx) = (abs(A(:,idx)-averg(idx))./averg(idx))*100;
end