如何使用 Real();复杂的();在 Matlab 中定义复数的函数?

How to use Real(); Complex(); functions to define a complex number in Matlab?

我来自音频的简单数字世界,我在 Matlab 编码器编译中发现复数错误:

左侧已被限制为非复数,但右侧为复数。要更正此问题,请使用函数 REAL 将右侧设为实数,或使用 COMPLEX 函数将左侧变量的初始赋值更改为复数值。

在这种情况下如何使用实函数?

tfr= zeros (N,tcol) ;  
for icol=1:tcol,
tfr(1,icol)= sum(g2 .* x(ti-points,1) .* conj(x(ti-points,xcol))); % error here

目前已经解决了:

更改初始数组语句:

carr= zeros (N,tcol) ;  
tfr = complex(carr,0);

可能有更好的答案。

change the initial assignment to the left-hand side variable to be a complex value using the COMPLEX function.

这正是您必须要做的。

tfr= complex(zeros (N,tcol) ) ;  

您必须告诉编码人员为复杂变量分配足够 space 的变量。