具有复数的 matlab accumarray

Mar*_*man 2 matlab complex-numbers

我不明白accumarray传递复数时的行为。我希望accumarray([1 1]', [1i 2i]')表现得像sum([1i 2i])(对于这种特殊情况)。

然而它返回0.0000 - 3.0000i而不是0.0000 + 3.0000i.

Adr*_*aan 8

你混淆了你的操作员。'复共轭转置。用于.'进行常规转置。所以你正在做的sum([-1i; -2i])事情确实是-3i。打电话accumarray([1 1].', [1i 2i].'),注意点,给予0.0000 + 3.0000i

另请参阅为什么在 Matlab 中复共轭转置是默认值