如何在Matlab中创建一个非常大的稀疏单位矩阵?

时间:2016-03-10 14:13:39

标签: matlab matrix

我正在尝试使用代码在

中在Matlab中创建一个75000 * 75000单位矩阵
sparse(eye(75000))

我收到以下错误:

Requested 75000x75000 (41.9GB) array exceeds maximum array size preference. Creation of arrays
greater than this limit may take a long time and cause MATLAB to become unresponsive. See array
size limit or preference panel for more information.

我知道错误的原因,但是如何在Matlab中创建这样的稀疏矩阵?

1 个答案:

答案 0 :(得分:2)

sparse(eye(75000));

要求eye(75000)存储在内存中。您希望使用speye来避免中间步骤:

speye(75000);

我还建议您阅读Sparse Matrix Creation的文档。