matlab生成稀疏矩阵。急急急

产上三角稀疏矩阵,每行至少一个1,每列至少一个1.。。。。。。求大神

稀疏矩阵是指很少非零元素的矩阵,这样的矩阵就成为稀疏矩阵,这种特性提供了矩阵存储空间和计算时间的优点。


我们可以使用MATLAB函数sparse把它转换成稀疏矩阵,该函数语法为:

          S=sparse(A)

函数sparse()的更常用的用法是用来产生稀疏矩阵,具体语法如下:

                    S=vsparse(r,c,s,m,n)

其中r和c是我们希望产生的稀疏矩阵的矩阵中非零元素的行和列索引向量。参数s是一个向量,它包含索引对(r,c)对应的数值,m和n是结果矩阵的行维数和列维数。

如果要获得完成的矩阵,可以使用full()函数,函数语法:

                      A=full(s)


针对你的问题,要产生上三角稀疏矩阵,一个可能的思路是先产生上三角正常矩阵,在将其稀疏化

                       A = triu(ones(4,4))

上述函数用来产生一个上三角矩阵,所以

                        S=sparse(A)

将其转化为稀疏矩阵

追问

上三角我知道,就是之后不知道怎样用spares表示稀疏矩阵

追答

将普通矩阵通过spares转换后,它就是稀疏矩阵了,“怎样用spares表示稀疏矩阵”是什么意思呢?转换后,矩阵在matlab里面的存储方式就不同了,可以节省空间。

温馨提示:答案为网友推荐,仅供参考