我希望在 matlab 中执行以下操作: -我有一个格式如下的文本文件:1 1 0.242 1 2 0.332 ... 75 74 0.485 75 75 0.726 - 第一列是矩阵的第 i 个索引的列表,第二列是矩阵的第 j 个索引,第三列是特定索引 (i,j) 处的值。简而言之,我有一个 75x75 矩阵,其值位于文本文件中。 -我希望读入这些数据并在 matlab 中重新创建矩阵,以便我可以对其进行操作。 有什么建议吗?
最佳答案
您描述的是一个存储稀疏矩阵(以元组格式)的文件。稀疏矩阵是大多数元素为 0 的矩阵,因此为了节省空间,您只存储非零元素。 Matlab 有一个内置的稀疏矩阵对象。您可以直接加载文件:
>> load matrix.mtl;
>> A = spconvert(matrix);
参见:http://bebop.cs.berkeley.edu/smc/formats/matlab.html
您可能需要注意的另一件事是稀疏函数,它接受三个向量并将它们转换为稀疏矩阵。
可以使用 full(A)
将稀疏矩阵转换为密集矩阵(即二维数组,这就是大多数人所说的矩阵)
关于matlab - 如何在 matlab 中根据文本文件中的索引和值重新创建矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6086430/