matlab 利用sparse产生 稀疏矩阵问题
本人将稀疏矩阵A通过sparse方法生成矩阵B。按理说B矩阵括号里面应该对应的是A矩阵中非零元素的行列标,但是为什么变换后矩阵B括号里的列标都为3呢?请高人指点!A:11...
本人将稀疏矩阵A 通过sparse方法生成 矩阵B 。按理说B矩阵括号里面应该对应的是 A矩阵中非零元素的行列标,但是为什么变换后矩阵 B括号里的列标都为3 呢?请高人指点!
A:
1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1
B:
(7244,3) 1
(7245,3) 1
(7246,3) 1
(7247,3) 1
(7248,3) 1
(7249,3) 1
(7250,3) 1
(7251,3) 1
(7252,3) 1
(7253,3) 1
(7254,3) 1
(7255,3) 1
(7256,3) 1
(7257,3) 1 展开
A:
1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1
B:
(7244,3) 1
(7245,3) 1
(7246,3) 1
(7247,3) 1
(7248,3) 1
(7249,3) 1
(7250,3) 1
(7251,3) 1
(7252,3) 1
(7253,3) 1
(7254,3) 1
(7255,3) 1
(7256,3) 1
(7257,3) 1 展开
展开全部
首先你可以通过help sparse来查看MATLAB内置的帮助。它的讲解如下:
S = sparse(A)
将矩阵A转化为稀疏矩阵形式,即矩阵A中任何0元素被去除,非零元素及其下标组成矩阵S。如果A本身是稀疏的,sparse(S)返回S。
S = sparse(i,j,s,m,n,nzmax)
由向量i,j,s生成一个m*n的含有nzmax个非零元素的稀疏矩阵S,并且有 S(i(k),j(k)) = s(k)。向量 i,j 和 s 有相同的长度。对应对向量i和j的值,s 中任何零元素将被忽略。 s 中在 i 和 j 处的重复值将被叠加。 注意:如果i或j任意一个大于最大整数值范围,2^31-1, 稀疏矩阵不能被创建。
S = sparse(i,j,s,m,n)
用 nzmax = length(s)
S = sparse(i,j,s)
使m = max(i) 和 n = max(j),在s中零元素被移除前计算最大值,[i j s]中其中一行可能为[m n 0]。
S = sparse(m,n)
sparse([],[],[],m,n,0)的缩写,生成一个m*n的所有元素都是0的稀疏矩阵。
注意:稀疏矩阵适合0非常多的情况,否者效率会比较低。
具体使用时,选择合适的调用形式。
希望采纳,设置为满意答案,谢谢。
S = sparse(A)
将矩阵A转化为稀疏矩阵形式,即矩阵A中任何0元素被去除,非零元素及其下标组成矩阵S。如果A本身是稀疏的,sparse(S)返回S。
S = sparse(i,j,s,m,n,nzmax)
由向量i,j,s生成一个m*n的含有nzmax个非零元素的稀疏矩阵S,并且有 S(i(k),j(k)) = s(k)。向量 i,j 和 s 有相同的长度。对应对向量i和j的值,s 中任何零元素将被忽略。 s 中在 i 和 j 处的重复值将被叠加。 注意:如果i或j任意一个大于最大整数值范围,2^31-1, 稀疏矩阵不能被创建。
S = sparse(i,j,s,m,n)
用 nzmax = length(s)
S = sparse(i,j,s)
使m = max(i) 和 n = max(j),在s中零元素被移除前计算最大值,[i j s]中其中一行可能为[m n 0]。
S = sparse(m,n)
sparse([],[],[],m,n,0)的缩写,生成一个m*n的所有元素都是0的稀疏矩阵。
注意:稀疏矩阵适合0非常多的情况,否者效率会比较低。
具体使用时,选择合适的调用形式。
希望采纳,设置为满意答案,谢谢。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
估计是使用过程中出现什么错误,下面是转换的结果,你可以参考下
%by dynamic
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%2009.2.
%
>> a=ones(2);b=1;c=ones(4);
>> A=blkdiag(a,a,b,c,a,b,b,b)
A =
1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1
>> A2=sparse(A)
A2 =
(1,1) 1
(2,1) 1
(1,2) 1
(2,2) 1
(3,3) 1
(4,3) 1
(3,4) 1
(4,4) 1
(5,5) 1
(6,6) 1
(7,6) 1
(8,6) 1
(9,6) 1
(6,7) 1
(7,7) 1
(8,7) 1
(9,7) 1
(6,8) 1
(7,8) 1
(8,8) 1
(9,8) 1
(6,9) 1
(7,9) 1
(8,9) 1
(9,9) 1
(10,10) 1
(11,10) 1
(10,11) 1
(11,11) 1
(12,12) 1
(13,13) 1
(14,14) 1
%by dynamic
%see also http://www.matlabsky.com
%contact me matlabsky@gmail.com
%2009.2.
%
>> a=ones(2);b=1;c=ones(4);
>> A=blkdiag(a,a,b,c,a,b,b,b)
A =
1 1 0 0 0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 1 1 1 1 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 0 1
>> A2=sparse(A)
A2 =
(1,1) 1
(2,1) 1
(1,2) 1
(2,2) 1
(3,3) 1
(4,3) 1
(3,4) 1
(4,4) 1
(5,5) 1
(6,6) 1
(7,6) 1
(8,6) 1
(9,6) 1
(6,7) 1
(7,7) 1
(8,7) 1
(9,7) 1
(6,8) 1
(7,8) 1
(8,8) 1
(9,8) 1
(6,9) 1
(7,9) 1
(8,9) 1
(9,9) 1
(10,10) 1
(11,10) 1
(10,11) 1
(11,11) 1
(12,12) 1
(13,13) 1
(14,14) 1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
具体问题是什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询