24小时热门版块排行榜    

CyRhmU.jpeg
查看: 211  |  回复: 2
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 tangtangtoy 的 1 个金币

tangtangtoy

木虫 (小有名气)

[交流] 【求助】nzmax是对稀疏矩阵的内存扩充,如何人为修改?

nzmax总是对稀疏矩阵分配过大的空间,但在矩阵计算过程中,由于元素的增减,nzmax自动分配的空间过大。如:
    k=sparse(eye(8000))
       k(:,3)=9
则此时 nzmax为  48000
回复此楼
[img]http://pic.emuch.net/200909/07/0c27796cff6fd98679ca98e9c4141ce4.jpg[/img]蓝关雪拥千层起,便看冰魂白上纱
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hitzhang

木虫 (正式写手)


tangtangtoy(金币+1,VIP+0):谢谢指教,不过我的意思是动态扩充,系统默认是原来大小的5倍,太大了点 9-3 07:59
引用回帖:
Originally posted by tangtangtoy at 2009-9-2 10:39:
nzmax总是对稀疏矩阵分配过大的空间,但在矩阵计算过程中,由于元素的增减,nzmax自动分配的空间过大。如:
    k=sparse(eye(8000))
       k(:,3)=9
则此时 nzmax为  48000

spalloc

Allocate space for sparse matrix
Syntax

S = spalloc(m,n,nzmax)
Description

S = spalloc(m,n,nzmax) creates an all zero sparse matrix S of size m-by-n with room to hold nzmax nonzeros. The matrix can then be generated column by column without requiring repeated storage allocation as the number of nonzeros grows.

spalloc(m,n,nzmax) is shorthand for

sparse([],[],[],m,n,nzmax)

Examples

To generate efficiently a sparse matrix that has an average of at most three nonzero elements per column

S = spalloc(n,n,3*n);
for j = 1:n
    S(:,j) = [zeros(n-3,1)' round(rand(3,1))']';end
2楼2009-09-02 11:58:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

billduke

金虫 (著名写手)

高深问题,还不够档次。

高深问题,还不够档次。加油学习
唐汉鸿基,LL碧海蓝天!
3楼2009-09-02 20:43:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tangtangtoy 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见