Matlab中的非循环移位?

Suz*_*ioc 5 matlab bit-shift

Matlab 具有circshift循环移位矩阵的功能,即将移出的元素移到相反的一侧。

是否有一个函数可以通过复制最后一个值或用零填充新空间来移动矩阵?就像 C/C++ 中的按位移位一样?

更新

我知道我可以自己编写函数。

And*_*nke 2

不,没有。如果有,它将位于 Matlab 主函数列表中的“Sorting and Reshaping Arrays”下。

http://www.mathworks.com/help/matlab/array-manipulation.html

因此,正如您所说,您需要自己编写。您可能可以通过沿维度 1 编写移位逻辑并shiftdim在循环中使用来旋转矩阵以有效地将其应用于所有请求的移位维度,然后返回到原始维度方向,从而实现非常简洁的实现。