Matlab - 将特定条目乘以多维矩阵中的标量
Matlab - Multiply specific entries by a scalar in multidimensional matrix
我在将多维矩阵中的特定值乘以标量时遇到问题。我的矩阵具有以下维度:
size(comDatabe) = 5 10 3 397 10
三维是一个x-y-z坐标系。出了点问题,现在我的 y 轴被一个主题颠倒了(最后一个维度中的 10 个中有第 8 个,正值是负值,反之亦然)。我想通过将所有这些 y 值乘以 -1 来解决这个问题。我尝试做这些事情,但没有用:
comDatabe(:,:,2,:,8) = comDatabe(:,:,-2,:,8)
comDatabe(:,:,[1 2 3],:,8) = comDatabe(:,:,[1 -1*2 3],:,8)
如何在我的多维矩阵中将这个特定的 "column" 乘以 -1?
呃,为什么乘索引而不是值?
我试过这个:
comDatabe(:,:,[1 2 3],:,8) = comDatabe(:,:,[1 2 3],:,8)*-1
它奏效了。
我在将多维矩阵中的特定值乘以标量时遇到问题。我的矩阵具有以下维度:
size(comDatabe) = 5 10 3 397 10
三维是一个x-y-z坐标系。出了点问题,现在我的 y 轴被一个主题颠倒了(最后一个维度中的 10 个中有第 8 个,正值是负值,反之亦然)。我想通过将所有这些 y 值乘以 -1 来解决这个问题。我尝试做这些事情,但没有用:
comDatabe(:,:,2,:,8) = comDatabe(:,:,-2,:,8)
comDatabe(:,:,[1 2 3],:,8) = comDatabe(:,:,[1 -1*2 3],:,8)
如何在我的多维矩阵中将这个特定的 "column" 乘以 -1?
呃,为什么乘索引而不是值?
我试过这个: comDatabe(:,:,[1 2 3],:,8) = comDatabe(:,:,[1 2 3],:,8)*-1
它奏效了。