matlab中如何表示“稀疏矩阵的图形“

这个例子显示了一个美国航天局翼型的有限元网格,包括两个拖曳襟翼。

东西/原料

  • 电脑
  • matlab软件

方式/步调

  1. 1

    数据存储在文件AIRFOIL.MAT中。

    它拥有4253对(x,y)网格点的坐标。

    它还拥有一个包含12289对索引(i,j)的数组,指定网格点之间的毗连。

    号令输入窗口键入:

    load airfoil

  2. 2

    有限元网格。

    起首,把x和y按2^(-32)缩放,使它们进入【0,1】规模。

    然后形当作稀少邻接矩阵并使其正定性。

    号令窗口键入:

    % Scaling x and y

    x = pow2(x,-32);

    y = pow2(y,-32);


    % Forming the sparse adjacency matrix and making it positive definite

    n = max(max(i),max(j));

    A = sparse(i,j,-1,n,n);

    A = A + A';

    d = abs(sum(A)) + 1;

    A = A + diag(sparse(d));


    % Plotting the finite element mesh

    gplot(A,[x y])

  3. 3

    按”Enter“键。

    得图1所示。

  4. 4

    可视化稀少模式。

    SPY用于可视化稀少模式,SPY(A)绘制矩阵A的稀少模式。

    号令行窗口键入:

    spy(A)

    title('The adjacency matrix.')

  5. 5

    按”Enter“键。

    得图2所示。

  6. 6

    对称从头排序-反标的目的Cuthill McKee

    SYMRCM利用逆标的目的Cuthill-McKee手艺从头排序邻接矩阵。

    r=SYMRCM(A)返回一个置换标的目的量r,使得A(r,r)倾标的目的于其对角线元素比A更接近对角线。

    这是一个很好的LU或Cholesky分化来自“长,细”问题的矩阵的预排序。

    它同时合用于对称和非对称A。

    号令行键入:

    r = symrcm(A);

    spy(A(r,r))

    title('Reverse Cuthill-McKee')

  7. 7

    按”Enter“键。

    得图3所示。

  8. 8

    对称重排序-COLPERM。

    利用j=COLPERM(A)返回一个摆列标的目的量,该标的目的量以非零计数的非递减挨次从头摆列稀少矩阵A的列。

    这有时可以作为LU分化的预排序:LU(a(:,j))。

    号令行键入:

    j = colperm(A);

    spy(A(j,j))

    title('Column count reordering')

  9. 9

    按”Enter“键。

    得图4所示。

  10. 10

    对称重排序符号。

    给出了对称近似最小度置换。

    p=symmd(S),对于对称正界说的矩阵a,返回置换标的目的量p,使得S(p,p)趋势于具有比S更稀少的Cholesky因子。

    有时symmd也合用于对称不定矩阵。

    号令行键入:

    m = symamd(A);

    spy(A(m,m))

    title('Approximate minimum degree')

  11. 11

    按”Enter“键。

    得图5所示。

    END
原作者:matlab教程举报
  • 发表于 2020-02-13 20:00
  • 阅读 ( 1010 )
  • 分类:其他类型

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
admin
admin

0 篇文章

作家榜 »

  1. xiaonan123 189 文章
  2. 汤依妹儿 97 文章
  3. luogf229 46 文章
  4. jy02406749 45 文章
  5. 小凡 34 文章
  6. Daisy萌 32 文章
  7. 我的QQ3117863681 24 文章
  8. 华志健 23 文章

联系我们:uytrv@hotmail.com 问答工具