我想做一些解决大型稀疏线性系统的数值示例Ax=b
。我想使用一些来自 Maltab 本身的数据,因为这个实验可以随时使用 Matlab 轻松复制。例如,
load west0479.mat
A = west0479;
b = sum(A,2);
使用这些代码,我可以获得一个稀疏矩阵线性系统。我想问一下Matlab中是否还有其他一些稀疏矩阵数据?如果是这样,请给我一些例子。
我想做一些解决大型稀疏线性系统的数值示例Ax=b
。我想使用一些来自 Maltab 本身的数据,因为这个实验可以随时使用 Matlab 轻松复制。例如,
load west0479.mat
A = west0479;
b = sum(A,2);
使用这些代码,我可以获得一个稀疏矩阵线性系统。我想问一下Matlab中是否还有其他一些稀疏矩阵数据?如果是这样,请给我一些例子。
不。
检查这一点很简单。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
是唯一的一个。