我有兩個相同大小的陣列,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