我想做一些解决大型稀疏线性系统的数值示例Ax=b。我想使用一些来自 Maltab 本身的数据,因为这个实验可以随时使用 Matlab 轻松复制。例如,
load west0479.mat
A = west0479;
b = sum(A,2);
gmres(A,b);
bicgstab(A,b);
使用这些代码,我可以获得一个稀疏矩阵线性系统。我想问一下Matlab中是否还有其他一些稀疏矩阵数据?如果是这样,请给我一些例子。
我想做一些解决大型稀疏线性系统的数值示例Ax=b。我想使用一些来自 Maltab 本身的数据,因为这个实验可以随时使用 Matlab 轻松复制。例如,
load west0479.mat
A = west0479;
b = sum(A,2);
gmres(A,b);
bicgstab(A,b);
使用这些代码,我可以获得一个稀疏矩阵线性系统。我想问一下Matlab中是否还有其他一些稀疏矩阵数据?如果是这样,请给我一些例子。
Matrix Market中有很多稀疏矩阵
测试数据的可视化存储库,用于数值线性代数算法的比较研究,包含来自各种应用的近 500 个稀疏矩阵,以及矩阵生成工具和服务。
将 Matrix Market 与MM_TO_MSM 结合使用:Matrix Market File to MATLAB Sparse Matrix。
MM_TO_MSM,一个 MATLAB 库,它读取存储在 Matrix Market 文件中的信息,并将其设置为 MATLAB 稀疏矩阵。
Matrix Market 包括用于读取/写入 Harwell-Boeing 文件的 Matlab 程序
Berkeley Benchmarking and Optimization (BeBOP) Group 开发了一个库和独立实用程序,用于在 Harwell-Boeing、Matrix Market 和 MATLAB 稀疏矩阵格式之间进行转换。
这将允许您从https://math.nist.gov/MatrixMarket/data/Harwell-Boeing/导入 Harwell-Boeing 矩阵集合
A = bucky(), 例如。
以下是教授的回答。
不,检查这一点很简单。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.mat是唯一的。