我有两个相同大小的阵列,ux
和uy
,我想合并成一个矢量单元阵列,这样U(1,1)
包含一个矢量合成(U)= numel(ux)= numel(uy)'我怎样才能将两个矢量组件阵列组合成一个矢量阵列
组件ux
和uy
表示图像梯度的单位向量。组件阵列由的elementwise乘法创建:
ux = I1x./I1mag;
uy = I1y./I1mag;
我需要能够多次访问每个矢量,并且调用它们作为dot
和cross
参数,使载体的阵列会比更快,更方便在每次迭代中为每个迭代创建一个临时向量。
由于
编辑为进一步澄清:
假设我有一个数组
uy = (1,2,3;4,5,6);
和相同尺寸
ux = (9,8,7;6,5,4);
我需要的YX矢量的另一个数组,所以对于我们的例子,这是
([1,9],[2,8],[3,7]; [4,6],[5,5],[6,4])
请问最有效的方法是什么?我将获得每个像素与其邻居的点积,反之亦然,因此每个向量将被使用16次,并且完整阵列包含大约10^4或10^5个元素的数量...
感谢您的持续帮助。
你想单元阵列是'numel(uy)x numel(ux)'? – Suever
假设'ux'有一列,'[ux,uy]'。否则,'[ux',uy']'。或者,'[ux; uy]'' – Salman
感谢您的建议。我会编辑帖子来澄清 - 我想要numel(U)= numel(ux)= numel(uy),但是每个U的单元格都包含一个向量[uy,ux]。 – Olly