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
-经过-3
疏mxarray
命名麻雀
包含六个通过键入创建的非零元素:
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 |
评论 |
---|---|---|---|---|
|
|
|
|
第1列包含两个非零元素,行指定为 |
|
|
|
|
第2列包含一个非零元素,行指定为 |
|
|
|
|
第3列包含三个非零元素,行指定为 |
|
|
|
|
总共有六个非零元素。 |
|
|
|
||
|
|
|
作为一个更稀疏的例子mxarray
,考虑1000
-经过-8
疏mxarray
命名宽敞
仅包含三个非零元素。这ir
,,,,PR
, 和JC
数组包含此表中列出的值。
下标 |
ir |
PR |
JC |
评论 |
---|---|---|---|---|
|
|
|
|
第1列包含无零元素。 |
|
|
|
|
第2列包含一个非零元素,行指定为 |
|
|
|
|
第3列包含一个非零元素,行指定为 |
|
第4列没有非零元素。 |
|||
|
第5列包含一个非零元素,行指定为 |
|||
|
第6列没有非零元素。 |
|||
|
第7列没有非零元素。 |
|||
|
第8列包含无零元素。 |
|||
|
总共有三个非零元素。 |
此功能无法免费为其移位的现有数据分配任何内存。要释放现有内存,请致电mxfree
在返回的指针上mxgetjc
在打电话之前MXSETJC
。
也可以看看
mxcreatesparse
,,,,mxgetir
,,,,mxgetjc
,,,,mxsetir
,,,,mxfree