我想在 Octave 中生成一个已知维度的矩阵。问题是我不想用零初始化矩阵。矩阵将仅包含 0 或 1,但未分配任何值的元素(单元格)必须保持空白。计划在“协同过滤”算法中使用这样的矩阵。
我对 Ocatve 和“协作过滤”算法都很陌生。曾尝试在网上寻找解决方案,但无济于事。网络上的关键字空矩阵是指零维数组或以“”为值的字符矩阵。
最佳答案
数值数组不能保存空值。通常在这种情况下,人们会使用 NaN
作为占位符值。
%// Initialize a 3D matrix of NaN values
data = nan(2, 3, 4);
size(data)
%// 2 3 4
然后很容易将占位符值与真实数据区分开来。您可以使用
isnan
检测它们.创建空值数组的唯一方法(由于性能下降而强烈反对)是使用元胞数组。
data = cell(2, 3, 4);
关于matlab - 生成已知维度的空矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37230551/