index must be a positive integer or logical

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

 采纳的回答

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

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by