外部インタフェース/API リファレンス    
mxSetIr

スパースなmxArrayir配列を設定

C 言語表示

引数
array_ptr
   スパースなmxArrayのポインタ。

ir
   ir配列のポインタ。ir配列は、列の大きさの順番にソートされなければなりません。

詳細

mxSetIrを用いて、スパースなmxArrayir配列を指定します。ir配列は、整数からなる配列です。ir配列の長さは、nzmaxの値と等しくなります。

ir配列の各要素は、非ゼロ要素がある行(1によるオフセット)を示します (jc配列は、非ゼロ要素がある列を間接的に指定するインデックスです。jcの詳細は、mxSetJcを参照してください)。

たとえば、6個の非ゼロ要素を含むSparrowいう名前の7行3列のスパースなmxArrayをつぎのようにタイプして作成するとします。

pr配列は、スパース行列に対する実数データを保持します。これは、Sparrowでは5個の1と1個の2です。非ゼロの虚数データがある場合は、pi配列にあります。

サブスクリプト
ir
pr
jc
コメント
(2,1)
1
1
0

列1; 行が2なのでirは1

(5,1)
4
1
2

列1; 行が5なのでirは4

(3,2)
2
1
3

列2; 行が3なのでir は2

(2,3)
1
2
6

列3; 行が2なのでirは1

(5,3)
4
1

列3; 行が5なのでirは4

(6,3)
5
1

列3; 行が6なのでirは5

ir配列の各要素は、対応する非ゼロ要素の行よりも常に1小さいことに注意してください。たとえば、最初の非ゼロ要素は行2にあります。そのため、irの最初の要素は1(つまり、2-1)です。2番目の非ゼロ要素は行5にあります。そのため、irの2番目の要素は4(5-1)です。

ir配列は、列の大きさの順番でなければなりません。これは、ir配列は(存在すれば)列1の行の位置を最初に定義し、それから(存在すれば)列2の行の位置を定義し、列Nまで定義することを意味します。各列において、行位置1は、行位置2の前に現れなければなりません。

mxSetIrは、ir配列をソートしません。既にソートしてあるir配列を指定しなければなりません。

例題

examplesディレクトリのmxサブディレクトリのmxsetnzmax.cを参照してください。さらに、examplesディレクトリのmexサブディレクトリのexplore.cを参照してください。

参考

mxCreateSparse, mxGetIr, mxGetJc, mxSetJc


 mxSetImagData mxSetJc