hu520130 发表于 2025-3-25 10:59 用Sys.A = Sys.A([2 3 4 5], :)就行 这种问题问deepseek一般能得到靠谱的答案 |
wzkchem5 发表于 2025-1-20 21:44 王老师,您好,我也是遇到说数组太大超过内存了,然后我输出了Sys和Sys.A后,用ans = ans([2 3 4 5], :)删掉相应不要的数据后,后续需要怎么操作呢?怎么让MATLAB记住现在的数组,并进行后续的这个pepper(Sys,Exp)指令并生成图像呢?这两天刚初学,希望王老师指导一下,不胜感激! |
mfdsrax2 发表于 2025-2-10 13:51 我已经说过了,随着A值数目的增加,需要的内存成指数增加。所以512GB仍然不够用是极其有可能的 |
mfdsrax2 发表于 2025-2-9 09:28 MATLAB应该是默认用所有的内存。所以应该想办法减少你这个计算需要的内存,而不是想办法让MATLAB能调用更多的内存。 easyspin需要的内存和A值的数量成指数关系 |
wzkchem5 发表于 2025-1-16 22:54 王老师再请问下,有没有办法可以增加MatLab可以调用的内存 |
mfdsrax2 发表于 2025-1-20 15:24 easyspin有特殊的语法可以指定若干个等价核,好像是改Sys.n,可以查一下手册 |
wzkchem5 发表于 2025-1-20 21:44 请问一下合并是什么操作?删除掉数值接近的,还是说把接近的数值改成一样的? |
mfdsrax2 发表于 2025-1-20 13:25 对,AFrame、Q、QFrame需要同时删 不过你这个计算里面大部分A值绝对值都很大,即使删掉前4个氢,用处也不大。可以考虑把A值相似的氢核合并一下,让程序认为这几个氢核严格等价 |
mfdsrax2 发表于 2025-1-18 15:58 matlab自带的帮助文件讲了如何从一个数组里删除特定的元素 |
wzkchem5 发表于 2025-1-16 22:54 请问一下如何删除A值 |
删掉那些特别小的、即使忽略也不影响算出来的谱图的A值。然后再试 |
手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图
GMT+8, 2025-8-15 17:53 , Processed in 0.270310 second(s), 25 queries , Gzip On.