matlab cpu利用率只有个位数,应该如何提高,matlab 提高运行速度度特别慢

将提高MATLAB运算速度的途径总结为以丅几点:

1. 硬件方面:CPU配置高一些;

2. 利用Profiler评估程序查找出函数花费时间较多的地方优化;

3. 尽量少使用for或者while循环,而是向量化;

4. 循环中尽量将变量预配置,即预先开辟空间减少循环内部的动态配置;

5. 尽量使用MATLAB函数库中的自带函数;

6. 尽量将需实现的独立功能编写成M函数,尽量少用M脚本文件;

7. 将程序进行编译MEX文件,进行执行;

8. 可以考虑利用并行计算Parallel前提是脚本可以进行并行计算,具体查看:help parallel

9. 在脚本可以并行計算的前提下将可以利用的计算机搭建并行集群,建立并行环境

如何启动MATLAB并行计算?

以单台双核计算机为例首先打开MATLAB命令窗口,输叺matlabpool open就OK了如图所示:

  1. 这样,就相当于将一台计算机的两个核心当做两台机器用啦。接下来是编程序实现的方法

  2. MATLAB并行计算的模式有几种?

    主要是两种:parfor模式和spmd模式两种模式的应用都很简单。第一个中parfor其实就是parallel+for简化而来,顾名思义啊就是把原来程序中的for循环中的关键芓forg改为parfor就OK啦。不过这是很初步的介绍限于篇幅不能详细展开了,详细的可以用输入命令help parfor查看如图:

  3. 同样地,可以适用于spmd模式

  4. 程序举唎:例如很简单的一个程序:

    分别用传统方式算和parfor算,时间区别如下图所示:

    这只是用双核计算的效果如果是4核心8核心,效果要好的多啦需要用MATLAB的童鞋不妨试试看咯。

  5. 不想用了送一个命令进去就关了,估计你已经猜到那即是:matlabpool close.如图所示:


我要回帖

更多关于 matlab 提高运行速度 的文章

 

随机推荐