0

我想做一些解决大型稀疏线性系统的数值示例Ax=b。我想使用一些来自 Maltab 本身的数据,因为这个实验可以随时使用 Matlab 轻松复制。例如,

load west0479.mat
A = west0479;
b = sum(A,2);

使用这些代码,我可以获得一个稀疏矩阵线性系统。我想问一下Matlab中是否还有其他一些稀疏矩阵数据?如果是这样,请给我一些例子。

4

1 回答 1

3

不。

检查这一点很简单。west0479位于demos保存所有此类样本的文件夹中。

>> which west0479.mat
C:\Program Files\MATLAB\R2019b\toolbox\matlab\demos\west0479.mat

我们可以得到.mat这个文件夹中可能包含稀疏矩阵的文件列表。

>> files = dir(fullfile(matlabroot,'toolbox','matlab','demos','*.mat'))

files = 

  41×1 struct array with fields:

    name
    folder
    date
    bytes
    isdir
    datenum

这些文件中的每一个都可以加载并检查稀疏变量。让我们从这些检查中创建一个数组并使用它来索引文件列表,因此只返回包含稀疏矩阵的文件:

>> files(arrayfun(@(f) any(structfun(@issparse,load(fullfile(f.folder,f.name)))),files))

ans = 

  struct with fields:

       name: 'west0479.mat'
     folder: 'C:\Program Files\MATLAB\R2019b\toolbox\matlab\demos'
       date: '14-Mar-2004 15:32:24'
      bytes: 12580
      isdir: 0
    datenum: 7.3202e+05

west0479是唯一的一个。

于 2019-11-22T12:28:52.390 回答