声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1889|回复: 4

[编程技巧] 如何在matlab中方便地生成稀疏矩阵??

[复制链接]
发表于 2008-4-16 12:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

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

使用道具 举报

发表于 2008-4-16 12:50 | 显示全部楼层
原帖由 ulu 于 2008-4-16 12:29 发表
本人接触matlab时间不长,好像matlab的稀疏矩阵只能一次性生成,不能实现如下功能,不知道是否正确,如果我的看法不正确,请各位高手指点
1、生成一个空的稀疏矩阵
2、动态向稀疏矩阵中添加非零元
help sparse
 楼主| 发表于 2008-4-21 19:53 | 显示全部楼层
院长先生,我对你有意见,请不要总是help ******,形同灌水。我看过帮助了,好像matlab中的sparse matrix不能达到我的预期,但总觉得我需要的功能好像很简单呀,所以不确定我的看法是否正确。即使是说“不能”和“能”也可以呀,如果“不能”,我放弃,如果“能”,我再去学习。
发表于 2008-4-21 20:46 | 显示全部楼层
>> A=sparse(3,1);
>> whos A
  Name      Size            Bytes  Class     Attributes
  A         3x1                20  double    sparse   
>> A(1,1)=2;
>> A(2,1)=2;
>> A(3,1)=2;
>> whos A
  Name      Size            Bytes  Class     Attributes
  A         3x1                44  double    sparse  

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


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

评分

1

查看全部评分

 楼主| 发表于 2008-4-24 22:31 | 显示全部楼层
明白了,谢谢eight。我曾经用c编过稀疏矩阵,由于需要存储辅助元素,因此当矩阵不是很稀疏,或者矩阵不大时,用稀疏矩阵相反可能会增加存储和计算时间,但对于大型稀疏矩阵,稀疏存储效率还是要高很多。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-20 18:48 , Processed in 0.067420 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表