如何在matlab中将两个矢量分量数组合成一个矢量数组(How can I combine two arrays of vector components into an array of vectors in matlab)
我有两个相同大小的数组, ux和uy ,我想将它们组合成一个向量的单元格数组,使得U(1,1)包含一个由uy(1,1),ux(1,1)组成的向量和`numel(U)= numel(ux)= numel(uy)'
组件ux和uy表示图像梯度的单位矢量。 组件数组是通过元素乘法创建的:
ux = I1x./I1mag;
uy = I1y./I1mag;
我需要能够多次访问每个向量,并将它们称为dot和cross参数,并且使得向量数组比在调用它的每个迭代中为每个向量创建一个ad hoc向量更快更方便。
谢谢
编辑以进一步明确:
假设我有一个数组
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个元素...
感谢您的继续帮助。
I have two arrays of the same size, ux and uy, which I want to combine into a cell array of