필터 지우기
필터 지우기

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

조회 수: 1 (최근 30일)
Hi, so I think i know what the issue is, that being the " /2 " portion of the code giving a decimal as an answer, but I thought the addition of " .5 " would fix that as it gives me all my correct values. My question is, does this warning actually affect the out come of my calculations?
pixel_seg.A81 = middle.middle_interpolate((28536/2+.5):(28598/2),:); %gives warning
pixel_seg.B81 = middle.middle_interpolate((28599/2+.5):(28634/2),:); %gives warning
tap.tapA81B81 = (((abs((sum(pixel_seg.A81)/length(pixel_seg.A81))-...
(sum(pixel_seg.B81)/length(pixel_seg.B81))))/...
(sum(pixel_seg.B81)/length(pixel_seg.B81)))*100);
Thanks for your time

채택된 답변

Walter Roberson
Walter Roberson 2012년 6월 25일
28536 is already even, so do not add 0.5 after dividing by 2.
28599 is odd, so it would need to be rounded after dividing by 2.
Using floor() or ceil() is safer than adding 0.5, due to potential round-off error.
  댓글 수: 3

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by