zoukankan      html  css  js  c++  java
  • sparse 稀疏函数的用法

    sparse函数

    功能:创建稀疏矩阵

    用法1:S=sparse(X)—将矩阵X转化为稀疏矩阵的形式,即矩阵X中任何零元素去除,非零元素及其下标(索引)组成矩阵S。 如果X本身是稀疏的,sparse(X)返回S。

    举例如下:

    复制代码
     1 >> a=[1,0,2;0,0,1;0,0,6];
     2 >> a
     3 
     4 a =
     5 
     6      1     0     2
     7      0     0     1
     8      0     0     6
     9 
    10 >> b=sparse(a)
    11 
    12 b =
    13 
    14    (1,1)        1
    15    (1,3)        2
    16    (2,3)        1
    17    (3,3)        6
    复制代码

    用法2:S = sparse(i,j,s,m,n,nzmax)——由i,j,s三个向量创建一个m*n的稀疏矩阵(上面的B矩阵形式),并且最多含有nzmax个元素。

    例如:B=sparse([1,2,3],[1,2,3],[0,1,2],4,4,4)

    B =
       (2,2)        1

       (3,3)        2

    其中i=[1,2,3],稀疏矩阵的行位置;j=[1,2,3],稀疏矩阵的列位置;s=[0,1,2],稀疏矩阵元素值。 其位置为一一对应。

    m=4(>=max(i)),n=4(>=max(j)) (注:m和n的值可以在满足条件的范围内任意选取),用于限定稀疏的大小。

    nzmax=4(>=max(i or j)),稀疏矩阵最多可以有nzmax个元素。

    full函数

    功能:把稀疏矩阵转为全矩阵

    A=full(X)—把稀疏矩阵X转换为全矩阵存储形式A

     例如:矩阵b为上面例子中的结果

    复制代码
    1 >> c=full(b)
    2 
    3 c =
    4 
    5      1     0     2
    6      0     0     1
    7      0     0     6
    复制代码
    matlab中sparse函数和full函数
    这对函数可以看做是一对反义词,看下sparse函数和full函数在matlab中的实现。
    从上面几个例子,可以直观知道sparse函数和full函数的作用。这些只是简单的说明的,现在下面讲一个sparse函数常用的用法:
    S=sparse(i,j,s,m,n,nzmax) 由向量i,j,s生成一个m*n的含有nzmax个非零元素的稀疏矩阵S。
    具体的操作:
    依次取i,j中的值作为S的行标和列标,再在s中的值赋值到S中所对应的行标和列标。若S=sparse(i,j,s,m,n) ,此时的nzmax=length(s)。
    看后请点赞
  • 相关阅读:
    (转)DirectInput编程基础
    怎么样解决3D 地形、天空盒等网格模型出现缝隙的问题
    D3DLIGHT9光源
    D3DXCreateTextureFromFileEx
    CreateVertexBuffer和CreateIndexBuffer
    D3D中材质通过D3DMATERIAL9结构说明
    IDirect3DVertexBuffer9::Lock和IDirect3DIndexBuffer9::Lock
    D3DPRESENT_PARAMETERS_结构(D3D初始化)(
    Windows Phone开发(6):处理屏幕方向的改变
    Windows Phone开发(4):框架和页
  • 原文地址:https://www.cnblogs.com/hyb221512/p/9261603.html
Copyright © 2011-2022 走看看