MATLAB 板


LINE

大家好 小弟目前正在跑一个计算 流程大致上是这样 先产生一个empty matrix 用for回圈跑不同的参数 ex. for x = 0 : 0.01 : 0.12 每次都解一个大型矩阵 大概10000x10000 每次会解出10000个eigenvalue 接着把这个10000个eigenvalue用column方式储存到empty matrix中 所以跑完之後那个empty矩阵就会变成 [[v_0] [v_0.01] [v_0.02] ... [v_0.12] ] 每个v都代表一个 10000x1 的column 接下来再把这个矩阵的"每一个row"依次对x = 0 : 0.01 : 0.12 作图 所以会画出10000条线 原本10000x10000的case我的电脑还是可以跑 但再变大几倍後就会出现out of memory 我想了几种解决方法,但不清楚怎麽执行,请各位大大帮帮我 (1) 我想说out of memory应该是因为最後那个empty matrix会变超大 所以想说能不能自行产生10000个empty matrix 每次解完一次10000x10000矩阵的eigenvalue後 把column中每个元素依次存在 那10000个empty matrix中 这样的话最後就会有10000个矩阵 但是每个矩阵都是小小的row (ex. 0:0.01:0.12 大概才1*13的 row array而已) 我希望程式码大概长这样 for i = 1 : 1 : 10000 ; 造出"名字是 Ai "的empty matrix ; ←这边不会用orz end for x = 参数 ; 解10000x10000的矩阵 解出10000x1的eigenvalue column vector(假设叫他v) 把每个元素依次存在对应的Ai empty matrix中 for j = 1 : 1 : 10000 ; Aj = [Aj v(j)] ; ←这边不会用orz end end 不知道这样把矩阵拆成10000个小矩阵的方法能不能解决 (2) 研究室好像有大型电脑 但我的project以理论推导为主 几乎没碰过 如果用大型电脑帮我跑的话 能不能用我最一开始的流程呢? 就是直接存一个超大容量的矩阵 再一次对个别row作图 我是希望最後最上面那个流程可以处理70000x70000的矩阵 不知道大型电脑有没有办法解决out of memory的问题 小弟仍在学习matlab 关於以上几点问题希望各位指教 谢谢 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.43.111.160
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/MATLAB/M.1498886118.A.FA1.html ※ 编辑: ocf001497 (114.43.111.160), 07/01/2017 13:18:57
1F:→ worcdlo: 把资料存硬碟,直接对硬碟做读写,你的ram放不下这麽大07/01 13:27
2F:→ worcdlo: 的资料,可惜这样一定很慢07/01 13:27
QQQ还是说只能求助大型电脑? ※ 编辑: ocf001497 (114.43.111.160), 07/01/2017 13:29:26 所以w大的意思是就算修改程式码也没办法直接跑吗? ※ 编辑: ocf001497 (114.43.111.160), 07/01/2017 13:32:23
3F:推 sunev: 先学会怎麽估计一个矩阵所占的记忆体大小吧07/01 13:43
4F:→ sunev: 首先每个矩阵元占8 bytes,如果是复数还要再乘207/01 13:44
5F:→ sunev: 所以一个10000*10000的矩阵就需要07/01 13:45
6F:→ sunev: 10000*10000*8 bytes = 8*10^8 bytes = 763MB07/01 13:46
7F:推 sunev: 70000的方阵就要36.5GB07/01 13:48
8F:推 sunev: 现在组一台128G的PC不是太困难的事情,但速度也是个问题07/01 14:15
9F:→ sunev: 解eigenvalue是n^3,你把解一万的时间乘上343倍就是解七万07/01 14:16
10F:→ sunev: 的时间,自己考量吧。一个比较合理的做法是只看前几个07/01 14:17
11F:→ sunev: 会快很多。07/01 14:17
12F:推 profyang: 问题是那些point都要画上去那个图本身就很大了 除非画好07/01 14:22
13F:→ profyang: 几条线就存成点阵图 然後新的点在画上去 总之应该不可能07/01 14:22
14F:→ profyang: 所有线一次用for loop把他plot出来07/01 14:23
15F:推 profyang: 然後另外一个更重要的是 你几万条线在同一张图上是要怎07/01 14:31
16F:→ profyang: 麽让人看清楚啦...07/01 14:31
哦哦不好意思忘记说,我想PLOT出来的东西就是要呈现 超多线全部叠在一起的连续感,因为有特殊的东西可以看 所以真的只能用大型电脑跑吗 还是也无法QQ ※ 编辑: ocf001497 (114.43.111.160), 07/01/2017 14:36:54 还想请问一下存成点阵图具体的做法是啥呢 谢谢!! ※ 编辑: ocf001497 (114.43.111.160), 07/01/2017 14:39:00
17F:推 profyang: 那就照1F说的 分好几组存起来 大概1400个row存一个档?07/01 14:38
18F:→ profyang: 然後每次画1400条线上去 画好後存成点阵图 之後再把新的07/01 14:39
19F:→ profyang: 1400条线画到之前存的点阵图上07/01 14:39
感谢回覆! 但现在我有点卡住的地方是 因为我每次对角化出来的东西都是10000x1的column 如果要画图的话实际上是画 [ [v_0] [v_0.01] ... [v_0.12] ]这种12个10000x1 column排在一起後的row 也就是说我没办法在做一次计算就存一个row 不知道这该怎麽解决呢 谢谢! ※ 编辑: ocf001497 (114.43.111.160), 07/01/2017 14:45:43
20F:→ profyang: 用saveas存成.bmp或.png档然後用imread读吧07/01 14:42
21F:→ profyang: plot 1400条线=>saveas成.bmp=>清除内存=>imread刚刚的07/01 14:44
22F:→ profyang: .bmp=>plot新的1400条线=>saveas新的.bmp覆盖过去.....07/01 14:45
另外out of memory我想说是不是因为那个要解的矩阵太大 而不是因为最後那个[ [v_0] [v_0.01] ... [v_0.12] ]太大 因为这个比要解的10000x10000的矩阵小很多 谢谢 ※ 编辑: ocf001497 (114.43.111.160), 07/01/2017 14:49:12
23F:推 profyang: 所以要存到硬碟阿 每次解出一组v 然後这些v每1400个就存07/01 14:50
24F:→ profyang: 一个档 然後算出新的v 再每1400个元素存起来到刚刚那些07/01 14:50
25F:→ profyang: 档案中07/01 14:50
26F:→ profyang: 喔对耶 我忘记你要解eigen的矩阵本身就70000*70000了...07/01 14:52
哦哦! 感谢! 大概知道概念了 但想请问一下如果是70000x70000是不是连写出这个矩阵都有问题... ※ 编辑: ocf001497 (114.43.111.160), 07/01/2017 14:55:34
27F:推 profyang: 是阿...除非你的70000*70000矩阵式很多零的矩阵可以用 07/01 14:56
28F:→ profyang: sparse矩阵可能还有办法07/01 14:57
29F:→ profyang: 如果是general的矩阵可能就无法了 07/01 14:57
哦哦! 我的矩阵应该蛮多零的! 所以可以用一样的方式 只是我把矩阵建起来的时候不用正常的矩阵 用sparse就可以吗 谢谢 ※ 编辑: ocf001497 (114.43.111.160), 07/01/2017 15:02:12
30F:推 profyang: https://goo.gl/sa1wzv 可能可以试试看virtual memory吧07/01 15:01
31F:→ profyang: 但这个我自己没试过就是了 原理大致上好像是拿硬碟当ram07/01 15:01
32F:→ profyang: 来用?不是很熟07/01 15:02
33F:推 profyang: 喔可以用sparse那就用sparse吧07/01 15:11
好! 我来试试 感谢 ※ 编辑: ocf001497 (49.214.16.125), 07/01/2017 15:25:06
34F:→ LiamIssac: 用sparse要确定0够多 不然会更慢 以前有问过这问题 07/01 17:11
35F:→ LiamIssac: 应该说不会更有效率 07/01 17:11
36F:推 imafsb: plot很吃记忆体,写回圈有作图的话作完要把handle关掉 07/03 17:29
37F:推 imafsb: 我都用export_fig取代saveas存图 07/03 17:34







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP