您的位置:首页 > 编程语言 > MATLAB

matlab sparse()

2015-08-26 21:07 549 查看
[b]一、sparse()的稀疏矩阵简单运用[/b]
1.>> A = [0, 0, 0, 0;
0, 0, 1, 0;
0, 0, 0, 0;
0, 1, 0, 2];
>> sparse(A)
ans =
(4,2) 1
(2,3) 1
(4,4) 2

[b]二.S = sparse(i,j,s,m,n,nzmax)[/b]
由向量i,j,s 生成一个m*n,且最多含有nzmax个元素的稀疏矩阵。
sparse([1,2,3,4],[1,2,3,4],[0,0,1,1],5,5,6)
ans =
(3,3) 1
(4,4) 1
其中i=[1,2,3,4],对应要形成矩阵的行位置;
J=[1,2,3,4],对应要形成矩阵的列位置;
S=[0,0,1,1],对应要形成矩阵对应位置的值。
(i 和j 的位置为一一对应,即(1,1)(2,2)(3,3)(4,4),将s中的值赋给这四个坐标的位置。
若i=[2,1,3,4],j=[3,2,4,1],则形成的坐标为(2,3)(1,2)(3,4),(4,1) )
(m>=max(i),n>=max(j) , m和n的值可以在满足条件的范围内任意选取. nzmax>=max(i or j))
下面为一些简化的情况
[b]三.S = sparse(i,j,s,m,n)[/b]
  用 nzmax = length(s) ;
[b]四.S = sparse(i,j,s)[/b]
使m = max(i) 和 n = max(j),在s中零元素被移除前计算最大值,[i j s]中其中一行可能为[m n 0];
5.S = sparse(m,n)
sparse([],[],[],m,n,0)的缩写,生成一个m*n的所有元素都是0的稀疏矩阵。
[b]参考文献[/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: