matlab中的sparse和full函数(稀疏矩阵和非稀疏矩阵之间的转换)
2015-10-07 21:02
323 查看
sparse函数提供多种参数形式
1 S = sparse(X)
2 S = sparse(i,j,s,m,n,nzmax)
3 S = sparse(i,j,s,m,n) where nzmax = length(s).
4 S = sparse(i,j,s) where m = max(i) and n = max(j).
5 S = sparse(m,n) abbreviates sparse([ ],[ ],[ ],m,n,0).
形式1:S = sparse(X)
返回矩阵x的稀疏矩阵形式,所谓稀疏矩阵就是将所有0元素剔除,只保留非0元素。
比如 x =
1 0 3
0 1 0
那么sparse(x)=
(1,1) 1
(2,2) 1
(1,3) 3
可以看到返回的稀疏矩阵给出了所有非0元素的索引,剔除了所有0元素。如果x本身就是稀疏矩阵,那么返回其本身。
形式2:S = sparse(i,j,s,m,n,nzmax)
参数 i,j,s 是3个向量,而且长度必须相等;i是行索引,j是列索引,s是i j索引位置对应的元素值。m和n指定生成的矩阵的维数,nzmax指定为非0元素分配的空间,如果nzmax<length(i),执行该语句会出错。
比如
i =
1 2 3
j =
1 2 2
s =
2 2 0
m=n=3;nzmax=3;
那么 answ=sparse(i,j,s,m,n,nzmax)
answ =
(1,1) 2
(2,2) 2
利用full函数将answ转换成非稀疏矩阵,得到
full(answ)
ans =
2 0 0
0 2 0
0 0 0
形式3:S = sparse(i,j,s,m,n) where nzmax = length(s).
与形式2一样,就是略去了nzmax参数,默认为length(s)。
形式4:S = sparse(i,j,s) where m = max(i) and n = max(j).
与形式2一样,就是默认了m,n,nzmax的值
形式5:S = sparse(m,n) abbreviates sparse([ ],[ ],[ ],m,n,0).
创建全0的稀疏矩阵。
1 S = sparse(X)
2 S = sparse(i,j,s,m,n,nzmax)
3 S = sparse(i,j,s,m,n) where nzmax = length(s).
4 S = sparse(i,j,s) where m = max(i) and n = max(j).
5 S = sparse(m,n) abbreviates sparse([ ],[ ],[ ],m,n,0).
形式1:S = sparse(X)
返回矩阵x的稀疏矩阵形式,所谓稀疏矩阵就是将所有0元素剔除,只保留非0元素。
比如 x =
1 0 3
0 1 0
那么sparse(x)=
(1,1) 1
(2,2) 1
(1,3) 3
可以看到返回的稀疏矩阵给出了所有非0元素的索引,剔除了所有0元素。如果x本身就是稀疏矩阵,那么返回其本身。
形式2:S = sparse(i,j,s,m,n,nzmax)
参数 i,j,s 是3个向量,而且长度必须相等;i是行索引,j是列索引,s是i j索引位置对应的元素值。m和n指定生成的矩阵的维数,nzmax指定为非0元素分配的空间,如果nzmax<length(i),执行该语句会出错。
比如
i =
1 2 3
j =
1 2 2
s =
2 2 0
m=n=3;nzmax=3;
那么 answ=sparse(i,j,s,m,n,nzmax)
answ =
(1,1) 2
(2,2) 2
利用full函数将answ转换成非稀疏矩阵,得到
full(answ)
ans =
2 0 0
0 2 0
0 0 0
形式3:S = sparse(i,j,s,m,n) where nzmax = length(s).
与形式2一样,就是略去了nzmax参数,默认为length(s)。
形式4:S = sparse(i,j,s) where m = max(i) and n = max(j).
与形式2一样,就是默认了m,n,nzmax的值
形式5:S = sparse(m,n) abbreviates sparse([ ],[ ],[ ],m,n,0).
创建全0的稀疏矩阵。
相关文章推荐
- Mootools 1.2教程 函数
- autoit InputBox 函数
- 文件遍历排序函数
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ASP下经常用的字符串等函数参考资料
- PostgreSQL教程(五):函数和操作符详解(1)
- DOS批处理 函数定义与用法
- asp Chr 函数 数字转字母的方法
- Lua中的函数精讲笔记
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中调用C++函数示例
- Lua实现split函数
- Lua常用时间函数使用实例
- Lua函数与字符串处理简明总结
- Lua学习笔记之表和函数
- Lua中实现sleep函数功能的4种方法
- Lua函数用法研究
- Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
- PowerShell函数简明教程
- 探索PowerShell(十一)函数介绍