张量切片详解

张量切片详解

说明 lateral slicefront slicetop slice 的操作,并用 MATLAB 代码实现这些操作。

例子

有一个三维张量 X ∈ R 2 × 3 × 4 \mathcal{X} \in \mathbb{R}^{2 \times 3 \times 4} XR2×3×4,表示如下:

X = [ 1 2 3 4 5 6 7 8 9 10 11 12 ] , [ 13 14 15 16 17 18 19 20 21 22 23 24 ] \mathcal{X} = \begin{array}{ccc} \begin{bmatrix} 1 & 2 & 3 & 4 \\ 5 & 6 & 7 & 8 \\ 9 & 10 & 11 & 12 \end{bmatrix}, & \begin{bmatrix} 13 & 14 & 15 & 16 \\ 17 & 18 & 19 & 20 \\ 21 & 22 & 23 & 24 \end{bmatrix} \end{array} X= 159261037114812 , 131721141822151923162024

MATLAB 代码实现

创建这个张量,并实现三种切片方法。

% 创建张量 X
X = reshape(1:24, [2, 3, 4]);

% 显示原始张量
disp('原始张量 X:');
disp(X);

% Lateral Slice (侧向切片)
disp('Lateral Slice:');
for k = 1:size(X, 3)
    disp(['第 ', num2str(k), ' 个侧向切片:']);
    disp(squeeze(X(:, :, k)));
end

% Front Slice (正面切片)
disp('Front Slice:');
for j = 1:size(X, 2)
    disp(['第 ', num2str(j), ' 个正面切片:']);
    disp(squeeze(X(:, j, :)));
end

% Top Slice (顶面切片)
disp('Top Slice:');
for i = 1:size(X, 1)
    disp(['第 ', num2str(i), ' 个顶面切片:']);
    disp(squeeze(X(i, :, :)));
end

运行上述代码后,输出结果如下:

原始张量 X:
(:,:,1) =
     1     3     5
     2     4     6
(:,:,2) =
     7     9    11
     8    10    12
(:,:,3) =
    13    15    17
    14    16    18
(:,:,4) =
    19    21    23
    20    22    24

Lateral Slice:
第 1 个侧向切片:
     1     3     5
     2     4     6
第 2 个侧向切片:
     7     9    11
     8    10    12
第 3 个侧向切片:
    13    15    17
    14    16    18
第 4 个侧向切片:
    19    21    23
    20    22    24

Front Slice:
第 1 个正面切片:
     1     7    13    19
     2     8    14    20
第 2 个正面切片:
     3     9    15    21
     4    10    16    22
第 3 个正面切片:
     5    11    17    23
     6    12    18    24

Top Slice:
第 1 个顶面切片:
     1     3     5
     7     9    11
    13    15    17
    19    21    23
第 2 个顶面切片:
     2     4     6
     8    10    12
    14    16    18
    20    22    24

  1. 原始张量

    • 张量 X \mathcal{X} X 的尺寸为 2 × 3 × 4 2 \times 3 \times 4 2×3×4
  2. Lateral Slice(侧向切片)

    • 固定第三个维度的索引 k k k,得到 2 × 3 2 \times 3 2×3 的矩阵。
    • 例如,第1个侧向切片是 X ( : , : , 1 ) \mathcal{X}(:,:,1) X(:,:,1)
  3. Front Slice(正面切片)

    • 固定第二个维度的索引 j j j,得到 2 × 4 2 \times 4 2×4 的矩阵。
    • 例如,第1个正面切片是 X ( : , 1 , : ) \mathcal{X}(:,1,:) X(:,1,:)
  4. Top Slice(顶面切片)

    • 固定第一个维度的索引 i i i,得到 3 × 4 3 \times 4 3×4 的矩阵。
    • 例如,第1个顶面切片是 X ( 1 , : , : ) \mathcal{X}(1,:,:) X(1,:,:)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不易撞的网名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值