【发布时间】:2015-11-20 00:44:55
【问题描述】:
我正在处理一个非常大的稀疏矩阵:
U = sparse(a,b) % a and b are very large
另一方面,存在具有“a”行的单元格 Ind。在每一行中,存在一个“可变”数量的元素,例如:
Ind{1} = [1 3 5 19 1000 1340]
Ind{2} = [9 100 1500 1600 8000 b]
...
Ind{a} = [3 5 6 90 1000 4300 5712 9480]
可以看出,Ind{i} 中的最大索引号可以是“b”。对于这些索引向量中的每一个,还存在一个内容矩阵,如 'c' :
c = [2 3 1 6 3 5 1 3 4 1 2 ... 5]
问题来了,对于 Ind{i} 中的每个元素,我想用 c(Ind{i}) 填充 'row = i' 和 'col=Ind{i}',即
for i = 1 : a
U(i,Ind{i}) = c(Ind{i}) ;
end
问题是'a'非常大,循环需要很长时间才能计算出来。有什么避免循环的想法吗?
【问题讨论】:
标签: matlab sparse-matrix