当我这么做
circshift(image(k,:), [0 Naz/2-5]);当Naz/2-5不是整数时,如74.5
Matlab是如何处理它的?
我知道用非整数提供函数是不正确的,但我遇到了它,我很想知道Matlab做了什么。
它是偏移74还是75?
谢谢。
发布于 2016-01-19 13:19:20
你为什么不直接手工测试呢?
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)可以快速检查结果。
https://stackoverflow.com/questions/34873065
复制相似问题