matlab - 如何将 double 值转换为索引整数以在 MATLAB 中创建稀疏矩阵?

标签 matlab matrix integer double

我正在使用 MATLAB 加载一个文本文件,我想用该文件创建稀疏矩阵。文本文件中的列引用行索引,并且是 double 类型。我需要它们是整数才能将它们用作行和列的索引。我尝试使用 uint8int32int64 将它们转换为整数,以使用它们构建稀疏矩阵,如下所示:

??? 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/

相关文章:

matlab - 如何创建表达式或向量函数句柄,然后绘制它?

c++ - 如何沿任意轴缩放对象(在 3D 空间中)

python - 使用元组/列表作为数组索引 (Python)

c++ - 检查两个无符号整数之和是否大于 uint_max

algorithm - 在分析计算机算法时理解关于机器字长的假设

matlab - 如何在JPEG压缩中进行量化?

matlab - 替换矩阵中的特定数字

image - 如何相对于另一个轴定位图形中的轴?

r - 将一个数据框与另一个包含增长率的数据框相乘,但将其复合

binary - Rust 中有什么东西可以将二进制字符串转换为整数吗?