我想做一些数值示例来解决大型稀疏线性系统Ax=b
。我想使用Maltab本身的一些数据,因为使用Matlab可以随时轻松复制这个实验。例如
load west0479.mat
A = west0479;
b = sum(A,2);
使用这些代码,我可以得到一个稀疏矩阵线性系统。 我想问一下 Matlab 中是否有其他稀疏矩阵数据?如果是这样,请给我一些例子。
No.
检查这一点很简单。 west0479
驻留在保存所有此类示例的demos
文件夹中。
>> which west0479.mat
C:Program FilesMATLABR2019btoolboxmatlabdemoswest0479.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 FilesMATLABR2019btoolboxmatlabdemos'
date: '14-Mar-2004 15:32:24'
bytes: 12580
isdir: 0
datenum: 7.3202e+05
west0479
是唯一的。