【发布时间】:2017-07-23 11:57:24
【问题描述】:
我有一个公式 -j(a*x + b*x),其中 j 是一个复数。
如果我没记错的话,-j 被定义为std::complex<double> j(0,-1)。好吧,让我们说(a*x + b*y) = 5。我读过SO,它会被翻译成std::complex<double> scalarCmplx(5,0)。
当乘以 j*scalarCmplx 时,这将转化为:
real = j.real * scalarCmplx.real = 0 * 5 = 0
imag = j.imag * scalarCmplx.imag = -1 * 0 = 0
因此,据我了解,结果将始终为0。
我错过了什么吗?
【问题讨论】:
-
复数乘法不行,再看定义应该就清楚了。
-
哦,我是不是混淆了什么?我查过 Krantz99,如果 (-j)*5 可以轻松翻译成
j.real*5, j.imag*5,我是对的吗? (@harold) -
我投票决定将此问题作为题外话结束,因为这是对复数工作原理的误解,而不是编程问题。
标签: c++ complex-numbers