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

 채택된 답변

Matt Fig
Matt Fig 2012년 8월 8일
편집: Matt Fig 2012년 8월 8일

0 개 추천

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에 대해 자세히 알아보기

질문:

2012년 8월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by