matlab - 如何从 ND 矩阵中提取 3D 矩阵?
问题描述
我正在研究配置如下的 5D 矩阵:
[nf,nx,ny,np,nz]=size(D);
这样的
nf=301;
nx=12;
ny=12;
np=12;
nz=12;
我需要从这个 5D 矩阵 D 中提取两个矩阵:
- 第一
A
,如[nf,nx,ny]=size(A);
- 第二种
B
,如[nf,np,nz]=size(B);
是否有任何 MATLAB 代码可以从中提取这两个矩阵D
?
解决方案
为此,您需要为二维选择特定的下标索引值,从多维数组squeeze
中提取数据,然后根据需要使用函数折叠长度为 1 的结果维度。以下是它的工作原理A
和B
:
pIndex = 2; % Second index of dimension 4
zIndex = 3; % Third index of dimension 5
A = D(:, :, :, pIndex, zIndex); % Don't need squeeze because they
% are the trailing dimensions
xIndex = 1; % First index of dimension 2
yIndex = 12; % Last index of dimension 3
B = squeeze(D(:, xIndex, yIndex, :, :));
请注意,使用冒号作为索引将包括该维度的所有下标。
推荐阅读
- php - 如何根据php中的条件设置404响应码?
- opencv - 如何在 Unity 中识别非矩形图像?
- c# - 将 WPF 形状绘制为矩形:如果 Stroke 是透明的,则 StrokeThickness 减半
- reactjs - react-highcharts中图表的共享图例?
- javascript - 为什么我的 js 计算器不能与 html 结合使用?
- php - 单击数组以加载配置
- swift - 是否存在确定类型应该可以用字符串初始化的协议?
- python - ValueError: 对已关闭文件的 I/O 操作。Python, Django , Boto3
- angularjs - 如何使用 Chart.js 为 Bonita Soft 构建饼图?
- mysql - 如何在不使用 CONCAT() 的情况下连接字段