主要内容

MXSETJC(C和Fortran)

JC稀疏阵列数组

C语法

#include“ matrix.h” void mxsetjc(mxarray *pm,mwindex *jc);

fortran语法

#include“ fintrf.h” subroutine mxsetjc(pm,jc)mwpointer pm,jc

参数

下午

指向稀疏的指针mxarray

JC

指向JC大批

描述

利用MXSETJC指定新的JC稀疏的阵列mxarray。这JC阵列是一个整数阵列n+1元素,哪里n是稀疏中的列数mxarray

如果是j稀疏的列mxarray具有任何非零元素,那么:

  • JC [J]是索引ir,,,,PR, 和pi(如果存在)j列。

  • JC [J+1] -1是最后一个非零元素的索引j列。

  • 为了j稀疏矩阵的列,JC [J]是所有上述列中非零元素的总数。

非零元素中的数量j稀疏的列mxarray是:

JC [J+1] -JC [J];

为了j稀疏的列mxarray,,,,JC [J]是所有上述列中非零元素的总数。最后一个元素JC大批,JC [列数这是给予的,等于NNZ,这是整个稀疏中的非零元素的数量mxarray

例如,考虑一个7-经过-3mxarray命名麻雀包含六个通过键入创建的非零元素:

sparrow =零(7,3);麻雀(2,1)= 1;麻雀(5,1)= 1;麻雀(3,2)= 1;麻雀(2,3)= 2;麻雀(5,3)= 1;麻雀(6,3)= 1;sparrow =稀疏(Sparrow);

下表列出了ir,,,,JC, 和PR数组。

下标

ir

PR

JC

评论

(2,1)

1

1

0

第1列包含两个非零元素,行指定为IR [0]IR [1]

(5,1)

4

1

2

第2列包含一个非零元素,行指定为IR [2]

(3,2)

2

1

3

第3列包含三个非零元素,行指定为IR [3],,,,IR [4], 和IR [5]

(2,3)

1

2

6

总共有六个非零元素。

(5,3)

4

1

(6,3)

5

1

作为一个更稀疏的例子mxarray,考虑1000-经过-8mxarray命名宽敞仅包含三个非零元素。这ir,,,,PR, 和JC数组包含此表中列出的值。

下标

ir

PR

JC

评论

(73,2)

72

1

0

第1列包含无零元素。

(50,3)

49

1

0

第2列包含一个非零元素,行指定为IR [0]

(64,5)

63

1

1

第3列包含一个非零元素,行指定为IR [1]

2

第4列没有非零元素。

2

第5列包含一个非零元素,行指定为IR [2]

3

第6列没有非零元素。

3

第7列没有非零元素。

3

第8列包含无零元素。

3

总共有三个非零元素。

此功能无法免费为其移位的现有数据分配任何内存。要释放现有内存,请致电mxfree在返回的指针上mxgetjc在打电话之前MXSETJC

例子

Matlabroot/extern/示例/mx

Matlabroot/extern/示例/MEX

也可以看看

mxcreatesparse,,,,mxgetir,,,,mxgetjc,,,,mxsetir,,,,mxfree

版本历史记录

在R2006a之前引入