我正在用
MATLAB进行CDMA扩展。尽管升级了RAM,预分配了阵列等信息,但我在MATLAB中还是出现了内存不足错误。
MATLAB中是否有
kron (
Kronecker张量积 )的替代方法?这是我的代码:
tempData = kron( Data, walsh); Data是M×1矩阵,而walsh (扩展码)是8×1矩阵。
我的数据由实部和虚部组成,例如: 0.000 + 1.000i或1.000 + 0.000i (双格式)。
回答:
对kron的此调用不会占用大量内存。我知道,您的问题似乎微不足道。但是,您不会告诉我们什么是M。对于非常大的M值,您只是在尝试创建太大的数组而无法容纳在内存中。很容易忘记您的计算机不是无限大或无限快。当我们在所有事物面前看到“ giga”时,就会被宠坏。
如果您绝对必须针对M的值执行此操作,那么您可能需要64位版本的MATLAB,执行此操作后,更多的内存将总是有帮助。
如果您可以承受精度损失的话,另一个选择是使Data单精度。这至少会给您2的额外系数。为了提供最佳帮助,我们需要知道M的大小。
更多&回答...