【问题标题】:How to save a sparse matrix to mat file in matlab如何在matlab中将稀疏矩阵保存到mat文件
【发布时间】:2012-09-05 16:59:48
【问题描述】:

我想将两个稀疏矩阵 Y 和 R 保存到一个 mat 文件中。但是,当我运行以下代码时,我发现twomatrices.mat 包含两个完整矩阵而不是稀疏矩阵。 .mat 文件是否只允许包含完整矩阵?

save('twomatrices.mat', 'Y', 'R');

【问题讨论】:

    标签: matlab sparse-matrix


    【解决方案1】:

    确保您确实创建了稀疏矩阵:例如,以下代码 sn-p 可以正常工作并将矩阵存储为稀疏双精度矩阵:

    n = 5;
    Y = sparse(1:n,1:n,1);
    R = sparse(1:n,1:n,2);
    save('twomatrices.mat', 'Y', 'R');
    
    clear
    load('twomatrices.mat')
    Y
    
    
    Y =
    
       (1,1)        1
       (2,2)        1
       (3,3)        1
       (4,4)        1
       (5,5)        1
    

    【讨论】:

    • +1 仅仅因为矩阵中有许多零,并不会自动将其变为稀疏形式。在写出这些矩阵之前,使用 whos 来验证它们的状态。
    猜你喜欢
    • 1970-01-01
    • 2014-08-25
    • 2012-06-20
    • 2017-07-02
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 2013-04-11
    • 1970-01-01
    相关资源
    最近更新 更多