簡體   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