matlab的tenmat函数,分析形状技巧

tenmat函数将一个多维数组(张量)转换成一个矩阵,大多数是将三维的tensor张量转换成二维矩阵形式。

如果查看tenmat以后的矩阵的形状,下面将举例并讲述技巧。

X是一个张量(3,4,2),可以看作两个3×4的矩阵,如图1

图1

(1)X_1 = tenmat(X,1);     %X_1的形状 [3,8]

官方理解:将张量X的第一个维度(每个元素)转换成一个矩阵,并将结果赋值给变量X_1

我的理解是:将X的第一个维度,即数字3保持不变,因为要转化成一个矩阵形式,剩下两个元素                         相乘2×4=8,所以最后X_1的形状 [3,8]

MATLAB运算结果:

X_1.data = 
          列 1 至 3
             1     4     7
             2     5     8
             3     6     9
          列 4 至 6
            10    13    16
            11    14    17
            12    15    18
          列 7 至 8
            19    22
            20    23
            21    24

(2)X_2 = tenmat(X,2);

官方理解:将张量X的第二个维度(列)转换成一个矩阵,并将结果赋值给变量X_2

我的理解是:将X的第二个维度,即数字4保持不变,因为要转化成一个矩阵形式,剩下两个元素                         相乘2×3=6,所以最后X_1的形状 [4,6]

MATLAB运算结果:

X_2.data = 
             1     2     3    13    14    15
             4     5     6    16    17    18
             7     8     9    19    20    21
            10    11    12    22    23    24

2)X_3 = tenmat(X,3);

官方理解:将张量X的第三个维度(行)转换成一个矩阵,并将结果赋值给变量X_3

我的理解是:将X的第三个维度,即数字2保持不变,因为要转化成一个矩阵形式,剩下两个元素                         相乘4×3=12,所以最后X_1的形状 [2,12]

MATLAB运算结果:

X_3.data = 
          列 1 至 7
             1     2     3     4     5     6     7
            13    14    15    16    17    18    19
          列 8 至 12
             8     9    10    11    12
            20    21    22    23    24

图2.matlab程序举例及运算结果的形状

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值