外部インタフェース/API リファレンス | ![]() ![]() |
C 言語表示
#include "matrix.h" void mxSetJc(mxArray *array_ptr, int *jc);
引数
array_ptr
スパースなmxArray
のポインタ。
jc
jc
配列のポインタ。
詳細
mxSetJc
を用いて、スパースなmxArray
に対する新たなjc
配列を指定します。jc
配列は、n+1
個の要素をもつ整数配列です。ここで、n
はスパースなmxArray
内の列数です。jc
配列内の値は、つぎの意味をもちます。
jc[j]
は、j番目の列の最初の非ゼロ要素のir
, pr
(と存在すればpi
)のインデックスです。jc[j+1]-1
j番目の列の最後の非ゼロ要素のインデックスです。jc
[number of columns + 1
]は、スパースなmxArray
全体の非ゼロ要素数であるnnz
と等しくなります。任意の列(列Cで表されます)の非ゼロ要素数は、つぎのようになります。
jc[C] - jc[C-1];
たとえば、6個の非ゼロ要素を含むSparrow
という名前の7行3列のスパースなmxArray
をつぎのようにタイプして作成します。
Sparrow=zeros(7,3); Sparrow(2,1)=1; Sparrow(5,1)=1; Sparrow(3,2)=1; Sparrow(2,3)=2; Sparrow(5,3)=1; Sparrow(6,3)=1; Sparrow=sparse(Sparrow);
サブスクリプト |
ir |
pr |
jc |
コメント |
(2,1) |
1 |
|
|
|
(5,1) |
4 |
|
|
|
(3,2) |
2 |
|
|
|
(2,3) |
1 |
|
|
|
(5,3) |
4 |
|
|
|
(6,3) |
5 |
|
|
|
よりスパースなmxArray
の例として、非ゼロ要素を3個だけ含むSpacious
という名前の8000要素のスパースなmxArray
を考えます。ir
, pr
, jc
配列は、つぎの要素を含みます。
サブスクリプト |
ir |
pr |
jc |
コメント |
(73,2) |
72 |
|
|
|
(50,3) |
49 |
|
|
|
(64,5) |
63 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|||
|
3 |
|||
|
3 |
例題
examples
ディレクトリのmx
サブディレクトリのmxsetdimensions.c
を参照してください。さらに、examples
ディレクトリのmex
サブディレクトリのexplore.c
を参照してください。
参考
![]() | mxSetIr | mxSetLogical | ![]() |