将Matlab网格转换为矢量

费斯曼

在Matlab中,我有5D网格X,其尺寸长度为n1,n2,n3,n4,n5。我将前三个维度点固定在x1,x2,x3并考虑X(x1,x2,x3,,)。现在,我想将其转换为n4倍n5向量,以便可以将其与另一个n4倍n5向量相乘。我怎样才能做到这一点?

另外,是否有一种直接进行乘法的方法,而无需先编写将网格转换为矢量的步骤?

蓝色

如果这是逐元素乘法,并且说Yn4 * n5向量是:

A=bsxfun(@times,reshape(X,n1,n2,n3,[]),permute(Y(:),[4,3,2,1])));

将为您提供这种相乘的结果,其中A是长度为n1,n2,n3,n4 * n5的4D数组。

该函数reshape用于将X5D转换为4D,该函数permute用于将信息“推”Y到第4维,以使用进行乘法bsxfun

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章