matlab - 生成已知维度的空矩阵

标签 matlab matrix octave

我想在 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/

相关文章:

ipython octavemagic

gnuplot - 如何在 GnuPlot 中向箭头添加文本

matlab - 如何将矩阵元素设置为周围元素的平均值?

linux - 将具有相似文件名的文件重命名为相同文件名但不同文件夹

matlab - 查找矩阵中所有零元素的邻居

matlab - 'does matrix contain value X?' 的函数

matrix - 有条件地删除矩阵中的行

javascript - 查找数组/矩阵的总和和最大最小值

debugging - 在独立的 matlab 中调试代码

machine-learning - 安德鲁练习的机器学习类(class)可以在本地运行但无法提交?