当我这样做时
circshift(image(k,:), [0 Naz/2-5]);
当Naz / 2-5不是圆数时,例如74.5
Matlab做了什么?
我知道为函数提供非整数是不正确的,但我遇到了它,并且很想知道Matlab的作用。
它是74还是75?
感谢。
答案 0 :(得分:1)
为什么不直接手动测试?
A = circshift( 1:100, [0 74] );
B = circshift( 1:100, [0 75] );
C = circshift( 1:100, [0 74.5] );
if( isequal( A, C ) )
display('A and C are equal -> MATLAB rounds down');
elseif( isequal( A, B ) )
display('B and C are equal -> MATLAB rounds up');
else
error('Unexpected behaviour');
end
我也无法测试它,因为我使用的是R2015b:
Error using circshift
Invalid shift type: must be a real finite integer vector.
提示:使用“斜坡”功能(从1到n的升序)快速检查结果。