在Matlab中将矩阵写为结构数组

时间:2014-07-15 17:18:46

标签: matlab

我首先要说的不是程序员,而是非常困惑。我的讲师说过,编写一个矩阵Matlab数组作为一个结构通常很有用。我认为这是为了节省空间而不是存储零?我在Matlab中实现它时遇到了麻烦。

如果给我一个矩阵:

a = [1 0 3; 0 5 6; 7 0 0]

我怎么能把它写成结构数组?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

您正在寻找的概念是sparse矩阵。

这不仅可以减少具有足够高的零元素比例的矩阵所需的存储空间,还可以加快对这些矩阵的操作。

您可以将现有的完整(即非稀疏)矩阵 A 转换为稀疏矩阵,如下所示:

S = sparse(A);

可以找到创建稀疏矩阵的其他方法here