我有一个关于矩阵分配的问题。
假设我有三个矩阵A、B和C,我想根据规则将矩阵C的元素分配给A和B的元素
C[i,j] = A[i,j] if abs(C[i,j] - A[i,j]) < abs(C[i,j] - B[i,j])
C[i,j] = B[i,j] if abs(C[i,j] - A[i,j]) > abs(C[i,j] - B[i,j])
C[i,j] = 0 if abs(C[i,j] - A[i,j]) == abs(C[i,j] - B[i,j])
没有for循环怎么写呢?
非常感谢您的帮助。
我认为丹·贝克尔的想法是正确的,但是重新计算abs(C-B)
and abs(C-A)
意味着updated比较的是矩阵,而不是original ones.
我认为这不是你想要的,所以这是他的方法的更正版本:
CmA = abs(C-A);
CmB = abs(C-B);
ind = Cma < CmB; C(ind) = A(ind);
ind = CmA > CmB; C(ind) = B(ind);
C(CmA == CmB) = 0;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)