MATLAB Function Reference | ![]() ![]() |
表示
S = spconvert(D)
詳細
spconvert
は、MATLAB 以外のスパースプログラムで作成された簡単なスパース形式から、スパース行列を作成するために使われます。spconvert
には、 2 つのプロセスがあります。
S = spconvert(D)
は、[i,j,s]
、または、[i,j,r,s]
を含む行をもつ行列 D
を、対応するスパース行列に変換します。D
は、nnz
行、または、nnz+1
行で、3 列、または、4 列でなければなりません。各行が 3 要素からなるデータは実数行列を、各行が 4 要素からなるデータは複素数行列を作成します。D
の中の [m
n
0]
、または、[m
n
0
0]
の型の行は、size(S)
を指定するために使われます。D
が既にスパースの場合、変換は行いません。spconvert
は、MAT-ファイル、または、ASCII ファイルから D
をロードした後で使います。
例題
つぎのデータを含む 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
load uphill.dat H = spconvert(uphill)
は、丸め誤差をもつ sparse(triu(hilb(4)))
を再作成します。この場合、最初の 10 行がすでに少なくとも 4行4列を表しているので、入力ファイルの最終行は必要ありません。
![]() | spaugment | spdiags | ![]() |