matlab嵌套循环加速,两个循环实在是太慢了,求矢量化改进或其它方法

matlab嵌套循环加速,两个循环实在是太慢了,求矢量化改进或其它方法,第1张

看代码的作用,是把矩阵的对角线以上部分元素随机设为0或1。

这似乎没有什么好办法,因为想要用向量化的方法就很难直接使用稀疏存储方式(随机数的生成就不好处理),而不用稀疏存储方式,内存又不够用。

事实上,就你现在的代码而言,我也很怀疑内存是否够用,因为,对一格100000x100000的矩阵,按双精度存储的矩阵所需内存为100000^28/1024^3=745G,而按照你给的概率,矩阵上三角部分的元素有50%的概率为非零,存储这部分元素所需的内存为(N^2-N)/2/28/1024^3=186G,虽然采用稀疏方式,所需内存也不可能少于这个数(换言之,这个矩阵根本就不能算稀疏的)。

所以,这个问题不是速度慢不慢的问题,而是核心在于内存是否够用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10725932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存