Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么将Imag函数与实数in参数一起使用? 我想在C++中翻译一个MATLAB代码,并且理解MATLAB代码有一定的困难。它是关于和代码是_Matlab - Fatal编程技术网

为什么将Imag函数与实数in参数一起使用? 我想在C++中翻译一个MATLAB代码,并且理解MATLAB代码有一定的困难。它是关于和代码是

为什么将Imag函数与实数in参数一起使用? 我想在C++中翻译一个MATLAB代码,并且理解MATLAB代码有一定的困难。它是关于和代码是,matlab,Matlab,X是一个matlab四元数,源代码为: C1 = fft2(complex(real(scalar(X)), real(x(X)))); C2 = fft2(complex(imag(scalar(X)), imag(x(X)))); C3 = fft2(complex(real( y(X)), S .* real(z(X)))); C4 = fft2(complex(imag( y(X)), S .* imag(z(X)))); 我认为复杂函数doc是 我

X是一个matlab四元数,源代码为:

C1 = fft2(complex(real(scalar(X)),      real(x(X))));
C2 = fft2(complex(imag(scalar(X)),      imag(x(X))));
C3 = fft2(complex(real(     y(X)), S .* real(z(X))));
C4 = fft2(complex(imag(     y(X)), S .* imag(z(X))));
我认为复杂函数doc是 我假设X(四元数)是q+xi+yj+zk 我知道x(x)是x,y(x)是y,z(x)是z,标量(x)是q

imag函数文档是 我的问题是: 复数(imag(标量(X)),imag(X(X)))

如果我能很好地理解imag(标量(X))和
imag(X(X))
总是0(实数的虚部是0),然后
复数(imag(标量(X)),imag(X(X))
是0。我想我错了


我的错误在哪里?

这段代码在一个条件语句中,它保证了
X
是复杂的。X是一个四元数。但是复数(imag(scalar(X)),imag(X(X)))总是0吗?看看
isreal
:只有当所有组件
X
y
z
都是实的时,它才是实的。所以在
else
分支中,在这个代码运行的地方,至少有一个是复杂的(有一个虚构的组件)。我现在意识到我对复杂函数的链接是错误的,因为我必须阅读模块@quaternion中的源代码。谢谢