Main Content

spconvert

外部書式のスパース行列のインポート

説明

S = spconvert(D) は、関数 sparse と同様の方法で D の列からスパース行列 S を作成します。

  • D のサイズが N3 列の場合、spconvertD の列 [i,j,re] を使用して、S(i(k), j(k)) = re(k) であるような S を作成します。

  • D のサイズが N4 列の場合、spconvertD の列 [i,j,re,im] を使用して、S(i(k), j(k)) = re(k) + 1i*im(k) であるような S を作成します。

すべて折りたたむ

次の値を含む ASCII ファイル uphill.dat を作成します。ファイルを現在のディレクトリに保存します。

1    1    1.000000000000000
1    2    0.500000000000000
2    2    0.333333333333333
1    3    0.333333333333333
2    3    0.250000000000000
3    3    0.200000000000000
1    4    0.250000000000000
2    4    0.200000000000000
3    4    0.166666666666667
4    4    0.142857142857143
4    4    0.000000000000000

よくある方法として、ファイルの最終行に 0 の値をもつ目的のサイズの行列を意図的に含めることができます。そうすることで、変換後のスパース行列のサイズを指定できます。

データを MATLAB® に読み込んで、スパース行列に変換します。

load uphill.dat
H = spconvert(uphill)
H =

   (1,1)       1.0000
   (1,2)       0.5000
   (2,2)       0.3333
   (1,3)       0.3333
   (2,3)       0.2500
   (3,3)       0.2000
   (1,4)       0.2500
   (2,4)       0.2000
   (3,4)       0.1667
   (4,4)       0.1429

この場合、少なくとも 4 行 4 列の行列であることを冒頭の行で既に指定しているので、入力ファイルに最終行は必要ありません。

入力引数

すべて折りたたむ

入力行列。3 列または 4 列の行列として指定します。いずれの場合も D の最初の 2 列は添字であり、3 列目はデータ値で構成されます。4 列の行列は、複素数の実数部 (3 列目) と虚数部 (4 列目) を指定します。

D が既にスパース行列である場合、spconvertD を返します。

データ型: single | double

拡張機能

バージョン履歴

R2006a より前に導入

参考

|