声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3427|回复: 6

[编程技巧] 请教如何实现大矩阵计算?

[复制链接]
发表于 2007-9-11 18:16 | 显示全部楼层 |阅读模式

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

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

x
我用三个矩阵,每个大小定义为zeros(1000,1000)然后进行乘法计算,
就会显示内存不足,是不是matlab只能用到1G内存再也大不了了,
我要想算大的矩阵是不是只有用C++了?

[ 本帖最后由 leonidas 于 2007-9-11 18:25 编辑 ]
回复
分享到:

使用道具 举报

发表于 2007-9-11 18:40 | 显示全部楼层
原帖由 leonidas 于 2007-9-11 18:16 发表
我用三个矩阵,每个大小定义为zeros(1000,1000)然后进行乘法计算,
就会显示内存不足,是不是matlab只能用到1G内存再也大不了了,
我要想算大的矩阵是不是只有用C++了?



2006版本的matlab好像只能用到1G。大矩阵也可以用 matlab 计算的,请参考几篇拙作(在置顶帖可以找到)
发表于 2007-9-11 19:01 | 显示全部楼层
>> A=ones(1000,1000);
>> tic;B=A^3;toc;
Elapsed time is 7.478497 seconds.
我的256M的内存,乘法没有问题呀?和电脑内存的关系不大吧?
 楼主| 发表于 2007-9-11 19:05 | 显示全部楼层

回复 #3 花如月 的帖子

谢谢指点,尝试中.......
 楼主| 发表于 2007-9-11 19:10 | 显示全部楼层

回复 #3 花如月 的帖子

如果我再加大呢?
X=zeros(10000,10000)这个矩阵都生成不了,
我看了精华贴了,如果我不想降低精度呢,不用unit8。
发表于 2007-9-11 20:04 | 显示全部楼层

回复 #5 leonidas 的帖子

有必要这么大的矩阵么?如果真有这么大,就分块处理吧。没有用uint8,我用的就是double的类型
发表于 2007-9-11 20:59 | 显示全部楼层
原帖由 leonidas 于 2007-9-11 19:10 发表
如果我再加大呢?
X=zeros(10000,10000)这个矩阵都生成不了,
我看了精华贴了,如果我不想降低精度呢,不用unit8。


用稀疏矩阵吧
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-18 18:25 , Processed in 0.061275 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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