如何提高Matlab计算效率,多核处理器并行计算怎么弄啊

2025-01-05 17:00:39
推荐回答(2个)
回答(1):

如果CPU利用率低,而计算慢的话,说明你的程序处理的数据量并不大,但是处理流程很复杂,里面肯定涉及了很多的类似于for循环的语句,使得程序的时间复杂度一下子就上去了。看了下面你的补充回答,好像和多核处理并行计算没关系的。虽然最新版的matlab支持这种运行方式,但感觉你似乎还用不到这么做。建议你还是优化一下你的算法。尽量减少for循环的次数,对于矩阵和向量运算,直接可以采用matlab现有的运算方法。

回答(2):

MATLAB为一种解释性语言,在for循环等的运行效率方面与C语言等相差明显,但如果方便将问题以向量或矩阵的形式运算的话,matlab具有无可比拟的计算效率优势。新的matlab2010确实提供了for循环等的多核处理命令,如parfor等,但限制条件过多,并不实用。
其实,在当前的主流计算机的计算速度保证下,只要进行预分配维数等操作,for循环也不会十分慢。所谓预分配维数指先定义a=ones(1,256)等,然后再for循环a(i)=...