求助:matlab中sparse函数的使用方法。

help中 sparse(i,j,s,m,n)括号内的元素没有四个的,而且在spdiags(Ytt, 0, 9, 9)程序中第二个元素值还是0 ,为什么会得出下面的矩阵呢?spdiags(Ytt, 0, 9, 9)中的每一个元素是指什么,请解答,谢谢!
列子:程序中得出
Ytt =

0 -17.3611i
1.9422 -10.4317i
1.2820 - 5.4092i
0 -17.0648i
1.1551 - 9.6798i
1.6171 -13.6235i
0 -16.0000i
1.1876 - 5.8221i
1.3652 -11.5161i
用spdiags(Ytt, 0, 9, 9)函数后,得出结果为:
ans =

(1,1) 0 -17.3611i
(2,2) 1.9422 -10.4317i
(3,3) 1.2820 - 5.4092i
(4,4) 0 -17.0648i
(5,5) 1.1551 - 9.6798i
(6,6) 1.6171 -13.6235i
(7,7) 0 -16.0000i
(8,8) 1.1876 - 5.8221i
(9,9) 1.3652 -11.5161i

第1个回答  2013-01-28
sparse是生成一个稀释矩阵,S=sparse(i,j,s,m,n)是用向量i,j和s生成一个m×n的稀释矩阵,i和j是行下标和列下标
spdiags功能:返回带状稀疏矩阵Aspdiags的格式为:
A=spdiags(B,d,m,n)参数m,n为原带状矩阵的行数与列数。B为r×p阶矩阵,这里r=min(m,n),p为原带状矩阵所有非零对角线的条数,矩阵B的第i列即为原带状矩阵的第i条非零对角线, d为长度为p的向量。

很简单的,亲,记得给分呀追问

请问您的意思是spdiags(Ytt, 0, 9, 9)中的0对应的d吗?若是的话,0为长度为p的向量是什么意思呢?

相似回答