我正在使用 MATLAB 加载一个文本文件,我想用该文件创建稀疏矩阵。文本文件中的列引用行索引,并且是 double 类型。我需要它们是整数才能将它们用作行和列的索引。我尝试使用 uint8
、int32
和 int64
将它们转换为整数,以使用它们构建稀疏矩阵,如下所示:
??? Undefined function or method 'sparse' for input arguments of type 'int64'. Error in ==> make_network at 5
graph =sparse(int64(listedges(:,1)),int64(listedges(:,2)),ones(size(listedges,1),1));
如何转换加载为 double 的文本文件条目以便由 sparse
函数使用?
最佳答案
不需要任何转换,保持索引double
:
r = round(listedges);
graph = sparse(r(:, 1), r(:, 2), ones(size(listedges, 1), 1));
关于matlab - 如何将 double 值转换为索引整数以在 MATLAB 中创建稀疏矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15760829/