给定具有 3D 空间坐标的矩阵和两个矩阵中两个变量(例如 a 和 b)的值,我想将相同点的行合并到一个公共矩阵中。
为了清楚地解释这个问题,假设我们有矩阵
A=[posX, posY, posZ, a]
and
B=[posX, posY, posZ, b]
并想将它们组合成
AB = [posX, posY, posZ, a, b]
例如
A = [0 0 1 1; 0 1 0 4; 5 0 12 8];
B = [0 0 0 5; 0 1 0 3; 5 11 7 7];
会给
AB = [0 0 0 0 5; 0 0 1 1 0; 0 1 0 4 3; 5 0 12 8 0; 5 11 7 0 7];
为了做到这一点,我首先创建了
ATemp = [A, zeros(length(A,0)]
和
BTemp = [B(:, [1 2 3]), zeros(length(B),1), B(:,4)]
然后尝试使用函数accumarray
,grpstats
但没有设法形成 AB 矩阵。
如果有人提出获得所需矩阵的方法,我将非常感激。