ulu 发表于 2008-4-16 12:29

如何在matlab中方便地生成稀疏矩阵??

本人接触matlab时间不长,好像matlab的稀疏矩阵只能一次性生成,不能实现如下功能,不知道是否正确,如果我的看法不正确,请各位高手指点
1、生成一个空的稀疏矩阵
2、动态向稀疏矩阵中添加非零元

eight 发表于 2008-4-16 12:50

原帖由 ulu 于 2008-4-16 12:29 发表 http://www.chinavib.com/forum/images/common/back.gif
本人接触matlab时间不长,好像matlab的稀疏矩阵只能一次性生成,不能实现如下功能,不知道是否正确,如果我的看法不正确,请各位高手指点
1、生成一个空的稀疏矩阵
2、动态向稀疏矩阵中添加非零元 help sparse

ulu 发表于 2008-4-21 19:53

院长先生,我对你有意见,请不要总是help ******,形同灌水。我看过帮助了,好像matlab中的sparse matrix不能达到我的预期,但总觉得我需要的功能好像很简单呀,所以不确定我的看法是否正确。即使是说“不能”和“能”也可以呀,如果“不能”,我放弃,如果“能”,我再去学习。

eight 发表于 2008-4-21 20:46

>> A=sparse(3,1);
>> whos A
Name      Size            BytesClass   Attributes
A         3x1                20double    sparse   
>> A(1,1)=2;
>> A(2,1)=2;
>> A(3,1)=2;
>> whos A
Name      Size            BytesClass   Attributes
A         3x1                44double    sparse

再来比较一下非sparse:
>> B=2*ones(3,1);
>> whos B
Name      Size            BytesClass   Attributes
B         3x1                24double   


你说如果你按照我的提示,仔细看看、动手做做,是否就明白呢?

ulu 发表于 2008-4-24 22:31

明白了,谢谢eight。我曾经用c编过稀疏矩阵,由于需要存储辅助元素,因此当矩阵不是很稀疏,或者矩阵不大时,用稀疏矩阵相反可能会增加存储和计算时间,但对于大型稀疏矩阵,稀疏存储效率还是要高很多。
页: [1]
查看完整版本: 如何在matlab中方便地生成稀疏矩阵??