【发布时间】:2016-05-11 17:40:15
【问题描述】:
\ 正在处理 MATLAB 中的一个矩阵,该矩阵是稀疏的并且具有许多行和列。在这种情况下,矩阵的行和列是特定项目的 ID。我们假设它们为id1 和id2。
如果可以嵌入行和列的 id 那就太好了,这样我就可以轻松地访问它们,而无需创建额外的变量来保留这两个 id。
答案可能是使用 table 数据类型。表格是满足我需要的非常理想的答案,但是我想知道是否可以为稀疏矩阵创建表格数据类型?
A [m*n] sparse matrix %% m & n are huge
id1 [1*m] , id2 [1*n] %% two vectors containing numeric ids for rows and column
我们可以得到吗?
T [m*n] sparse table matrix
感谢您与我分享您的观点。
【问题讨论】:
-
查看 MATLAB
sparse函数的文档:mathworks.com/help/matlab/ref/sparse.html?refresh=true -
Matlab 中没有
sparse table类。第一个原因是table()可以有多个列的变量,在这种情况下您将如何定义稀疏性(反问问题)?与 sparse() 矩阵相比,您希望保留哪些特定于表的功能? -
谢谢,我在发帖前就这样做了。以
table(sparse(rand(10,10)))为例,使表格不稀疏,这不是我想要的。 -
Oleg:我的问题中提到的要求如下: 1.
A是一个包含许多零条目的巨大矩阵。最好是稀疏形式。 2.A的行和列有唯一的id,如果A的行和列有像Matlab中的表数据类型那样的标识符就好了。 -
在我看来,如果我错了,请纠正我,你想要的是在变量编辑器中有一个很好的显示。但是请考虑,表格以非常不同的方式存储变量,并且具有类似 excel 的显示以及行和列标签的附加价值很快就会失去它的好处,尤其是在您的维度上。此外,表格不允许重塑其维度(尝试转置),或使用线性索引查询数据。
标签: matlab sparse-matrix matlab-table