QT_5.2_matlab组合多维数组
完整代码示例
以下是一个完整的代码示例,展示如何将多个测试数据拼接成一个四维数组:
% 示例测试数据
nn = 10; % 假设有10个测试样本
TestData = cell(nn, 6); % 创建一个包含10个样本的单元格数组,每个样本包含6个二维矩阵
% 生成一些随机数据作为示例
for k = 1:nn
for j = 1:6
TestData{k, j} = rand(28, 28); % 假设每个二维矩阵的大小为28x28
end
end
% 初始化四维数组XTest
XTest = zeros(28, 28, 6, nn); % 假设每个样本有6个通道,每个通道大小为28x28
% 拼接测试数据
for k = 1:nn
XTest(:,:,:,k) = cat(3, TestData{k,1}, TestData{k,2}, TestData{k,3},...
TestData{k,4}, TestData{k,5}, TestData{k,6});
end
% 打印结果的大小
disp(size(XTest)); % 应输出 [28, 28, 6, 10]
拼接测试数据
for k = 1:nn
XTest(:,:,:,k) = cat(3, TestData{k,1}, TestData{k,2}, TestData{k,3},...
TestData{k,4}, TestData{k,5}, TestData{k,6});
end
for k = 1:nn:遍历所有测试数据。cat(3, ...):沿第三维度拼接多个二维矩阵。XTest(:,:,:,k):将拼接后的三维矩阵存储在四维数组XTest的第k个位置。
解释
-
生成示例测试数据:
nn = 10;:假设有10个测试样本。TestData = cell(nn, 6);:创建一个包含10个样本的单元格数组,每个样本包含6个二维矩阵。- 使用
rand函数生成一些随机数据作为示例。
-
初始化四维数组
XTest:XTest = zeros(28, 28, 6, nn);:初始化一个四维数组,假设每个样本有6个通道,每个通道的大小为28x28。
-
拼接测试数据:
- 使用
for循环遍历所有测试样本。 - 使用
cat(3, ...)沿第三维度拼接多个二维矩阵。 - 将拼接后的三维矩阵存储在四维数组
XTest的第k个位置。
- 使用
-
打印结果的大小:
- 使用
disp(size(XTest))打印四维数组XTest的大小,应输出[28, 28, 6, 10]。
- 使用

浙公网安备 33010602011771号