玩转 matlab 之函数 gallery 测试矩阵集合

gallery 函数是 matlab 收集的一些重要的典型矩阵集合,主要用作算法的测试,在我的上一篇博客,我详细介绍了


Poisson 矩阵

A = gallery('poisson',n);

该函数生成一个 \(n^2\) 阶矩阵,来源于偏微分方程数值解中的 poisson 方程第一类边值的五点中心差分格式:

\[\left\{\begin{array}{l}{-\Delta u=f}, \quad {(x, y) \in G}, \\ {u=0,\quad (x, y) \in \partial G.}\end{array}\right. \]

该矩阵是一个对称正定矩阵(SPD)并且是稀疏存储格式,即 sparse 类型。

Wathen 矩阵

A = gallery('wathen', nx,ny);

该函数返回一个随机的 \(n\)sparse 类型的SPD矩阵,其中 \(n = 3 n_x n_y+2n_x+2n_y+1\),是有限元离散的一个质量矩阵。

Neumann 矩阵

A = gallery('neumann', n);
A = A + speye(n);

该函数返回一个Neumann边值问题的Poisson方程的离散矩阵,是一个奇异的稀疏矩阵,将其后面加上一个稀疏的单位矩阵如上所示,将其变为非奇异矩阵进行实验。

Wilkinson 矩阵

A = gallery('wilk', n);

该函数生成Wilkinson矩阵,其中n的取值只有4个,即3,4,5,21
if \(n=3\),生成一个3阶的上三角矩阵;
if \(n=4\), 生成一个4阶的下三角矩阵;
if \(n=5\),生成一个5阶的SPD矩阵;
if \(n=21\),生成一个21阶对称不定矩阵;详情可到matlab自行查看。

Moler 矩阵

A = gallery('moler', n);

该函数返回一个 \(n\) 阶SPD矩阵,注意,该矩阵是full类型,而非sparse类型。

Householder 矩阵

[v,beta,s] = gallery('house',x);

该函数是著名的Householder变换矩阵,生成一个Householder矩阵\(H = I-\beta vv'\), 使得 \(Hx = s*e_1\),其中\(e_1\)是单位矩阵的第一列,x是一个列向量。

总结

所有操作建议大家根据说明进行matlab实际操作,以增加理解。欢迎有问题与我交流。
QQ群 315241287

posted @ 2019-05-09 17:53  孙开心2020  阅读(1088)  评论(0)    收藏  举报