MATLAB练习例子十二(疏矩阵)

返回

》 load west0479 》 A = west0479; 》 nnz(A) ans = 1887 》 nnz(lu(A)) ans = 16777 》 nnz(luinc(A,1e-6)) ans = 10311 》 nnz(luinc(A,'0')) ans = 1886 》 1 1 11 1 3 13 1 5 15 2 2 22 2 4 24 2 5 25 3 1 31 3 3 33 3 5 35 4 1 41 4 3 43 4 5 45 5 1 51 5 3 53 5 5 55 》 load T.dat 》 S = spconvert(T) S = (1,1) 11 (3,1) 31 (4,1) 41 (5,1) 51 (2,2) 22 (1,3) 13 (3,3) 33 (4,3) 43 (5,3) 53 (2,4) 24 (1,5) 15 (2,5) 25 (3,5) 35 (4,5) 45 (5,5) 55 》 load west0479 》 whos Name Size Bytes Class S 5x5 204 sparse array T 15x3 360 double array ans 1887x1 15096 double array west0479 479x479 24564 sparse array Grand total is 3834 elements using 40224 bytes Generating a Second Difference Operator 》 D = sparse(1:n,1:n,-2*ones(1,n),n,n); ??? 'n' は未定義の関数、または変数です. 》 n = 5; 》 D = sparse(1:n,1:n,-2*ones(1,n),n,n); 》 E = sparse(2:n,1:n-1,ones(1,n-1),n,n); 》 S = E + D + E' S = (1,1) -2 (2,1) 1 (1,2) 1 (2,2) -2 (3,2) 1 (2,3) 1 (3,3) -2 (4,3) 1 (3,4) 1 (4,4) -2 (5,4) 1 (4,5) 1 (5,5) -2 》 F = full(S) F = -2 1 0 0 0 1 -2 1 0 0 0 1 -2 1 0 0 0 1 -2 1 0 0 0 1 -2 》 Creating sparse matrices from their diagonal elements 》 B = [ 41 11 0 52 22 0 63 33 13 74 44 24]; 》 d = [ -3 0 2]; 》 A = spdiags(B,d,7,4) A = (1,1) 11 (4,1) 41 (2,2) 22 (5,2) 52 (1,3) 13 (3,3) 33 (6,3) 63 (2,4) 24 (4,4) 44 (7,4) 74 》 full(A) ans = 11 0 13 0 0 22 0 24 0 0 33 0 41 0 0 44 0 52 0 0 0 0 63 0 0 0 0 74 》 A = [ 0 0 0 5 0 2 0 0 1 3 0 0 0 0 4 0]; 》 S = sparse(A) S = (3,1) 1 (2,2) 2 (3,2) 3 (4,3) 4 (1,4) 5 直接生成sparse matrices 》 S = sparse([ 3 2 3 4 1],[1 2 2 3 4],[1 2 3 4 5],4,4) S = (3,1) 1 (2,2) 2 (3,2) 3 (4,3) 4 (1,4) 5 collatzplot(500)

》 P = [1 3 4 2 5] P = 1 3 4 2 5 》 I = eye(5,5); 》 P = I(p,:); ??? 'p' は未定義の関数、または変数です. 》 P = I(P,:); 》 e = ones(4,1); 》 S diag(11:11:55) + diag(e,1) + diag(e-1) ??? S diag | 演算子、カンマ、またはセミコロンが見つかりません 》 S = diag(11:11:55) + diag(e,1) + diag(e-1) ??? エラー: ==> + 行列の次元は同じである必要があります. 》 S = diag(11:11:55) + diag(e,1) + diag(e,-1) S = 11 1 0 0 0 1 22 1 0 0 0 1 33 1 0 0 0 1 44 1 0 0 0 1 55 》 S(p,:) ??? 'p' は未定義の関数、または変数です. 》 S(P,:) ??? 行列のインデックスが負、またはゼロです ロジカルインデックスの変更については リリースノートを参照してください. 》 P*S ans = 11 1 0 0 0 0 1 33 1 0 0 0 1 44 1 1 22 1 0 0 0 0 0 1 55 》 S(:,P) ??? 行列のインデックスが負、またはゼロです ロジカルインデックスの変更については リリースノートを参照してください. 》 S*P' ans = 11 0 0 1 0 1 1 0 22 0 0 33 1 1 0 0 1 44 0 1 0 0 1 0 55
返回