[已答复] shiftdim(A,n)的移动问题

[复制链接]
luosidinger 发表于 2014-12-3 20:58:33
a = rand(1,1,3,1,2);
d = shiftdim(a,3);
e= shiftdim(a,-3);
d的属性为:
val(:,:,1,1,1) =
    0.8147    0.9134
val(:,:,1,1,2) =
    0.9058    0.6324
val(:,:,1,1,3) =
    0.1270    0.0975
e的属性为:
val(:,:,1,1,1,1,1,1) =
    0.8147
val(:,:,1,1,1,2,1,1) =
    0.9058
val(:,:,1,1,1,3,1,1) =
    0.1270
val(:,:,1,1,1,1,1,2) =
    0.9134
val(:,:,1,1,1,2,1,2) =
    0.6324
val(:,:,1,1,1,3,1,2) =
    0.0975
这个函数shiftdim对维数是如何移动的?

4 条回复


kaaaf123 发表于 2014-12-4 02:17:31
例如原矩阵是一个5维的矩阵A
B = shiftdim(A,2)
那么
A(i1,i2,i3,i4,i5)
等于
B(i3,i4,i5,i1,i2)

luosidinger 发表于 2014-12-4 09:07:16
对于负值的话,指直接向右推过去,前面的都补成1吗?

honglei.chen 发表于 2014-12-4 09:20:51
luosidinger 发表于 2014-12-4 09:07
对于负值的话,指直接向右推过去,前面的都补成1吗?

不是补1,而是补一个维数

B = shiftdim(X,n) shifts the dimensions of X by n. When n is positive, shiftdim shifts the dimensions to the left and wraps the n leading dimensions to the end. When n is negative, shiftdim shifts the dimensions to the right and pads with singletons.

最简单的方法,你自己试一下,或者看看帮助的例子

luosidinger 发表于 2014-12-5 15:53:30
就是因为这句话看得不太懂才问的的,能帮忙解释一下吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表