| 外部インタフェース/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]-1j番目の列の最後の非ゼロ要素のインデックスです。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 | ![]() |