繁体   English   中英

如何使用 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

使用 COMPLEX 函数将左侧变量的初始赋值更改为复数值。

这正是你必须做的。

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

您必须告诉编码器为复杂变量分配具有足够空间的变量。

这暂时解决了它:

更改初始数组语句:

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

可能有更好的答案。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM