MATLAB运行速度与数组维数的关系
来源:互联网 发布:php代码开元 编辑:程序博客网 时间:2024/05/22 19:07
最近看了一些加快matlab运行速度的帖子,但是没有一个特别系统的文章,这里先把自己的实验部分做个简单记录,后面有实验再进行添加
matlab版本:R2014a (8.30 532)
电脑配置:
CPU: i5 - 6200U 2.30GHz(4 CPUs)~2.4GHz
内存: 8G
显卡: NVIDIA GeForce 930M
我们知道matlab 的数组存储是竖列优先的,但是我发现一个问题,我们在遍历横竖列不均等的数组时,横列遍历反而快一些。测试代码如下:
m = 10;n = 1000000;testLength = 100;testResult = zeros(4, testLength);for k = 1 : testLength a = rand(n, m); temp = a; count = 0; tic for i = 1 : m for j = 1 : n % count = count + 1; % a(j,i) = a(j,i) + count; a(j,i) = a(j,i) * 2; end end t = toc; testResult(1, k) = t; count = 0; tic for i = 1 : n for j = 1 : m % count = count + 1; % a(i,j) = a(i,j) + count; a(i,j) = a(i,j) * 2; end end t = toc; testResult(2, k) = t; %% a = temp'; count = 0; tic for i = 1 : m for j = 1 : n % count = count + 1; % a(i,j) = a(i,j) + count; a(i,j) = a(i,j) * 2; end end t = toc; testResult(3, k) = t; count = 0; tic for i = 1 : n for j = 1 : m % count = count + 1; % a(j,i) = a(j,i) + count; a(j,i) = a(j,i) * 2; end end t = toc; testResult(4, k) = t; endmean(testResult, 2)[minData, minIndex] = min(testResult);sum(minIndex==3)sum(minIndex==1)
我的运行结果:
mean(testResult, 2) =
[ 0.5108
0.5505
0.4969
0.5385 ]
[sum(minIndex==3) sum(minIndex==1)] = [86 14];
这个实验验证了小循环套大循环,运行速度会快不少。 但是遍历数组的情况是横向遍历反而快一点,有点疑虑。
由于电脑有限,希望广大申通的网友也可以把自己的运行结果记录一下,最好附加电脑配置信息,回复一下,谢谢大家。
阅读全文
0 0
- MATLAB运行速度与数组维数的关系
- ffmpeg软解h264速度与ref数的关系
- Revit 产品运行速度与硬件关系
- 【转】提高matlab程序的运行速度
- 提高matlab运行速度的心得
- 提高matlab运行速度的心得
- 加快MATLAB运行速度的三个方法
- 提高matlab运行速度的心得
- 对比 Matlab 和 Octave 的运行速度
- MATLAB数组的关系运算
- matlab提高运行速度
- 提高matlab运行速度
- MATLAB 与C混合编程:通过mex提高运行速度
- 下载速度与带宽的关系
- 字符串长度与速度的关系
- matlab提高运行速度的两个小方法
- 提升Matlab程序运行速度的技巧总结
- matlab、opencv、opencv+gpu滤波运行速度的比较
- Maven项目转为jar包运行
- JavaWeb学习篇之----Servlet过滤器Filter和监听器
- 【Question 01】关于 intellij 启动 web 项目控制台乱码的问题
- IDT系列:(二)中断处理过程,使用bochs调试IDT中的中断服务程序
- selenium使用谷歌浏览器
- MATLAB运行速度与数组维数的关系
- 最短路径算法Dijkstra思路及java实现
- R语言-关键节点问题-方案二
- MATLAB相关作业
- 编程语言简史搞笑版
- linux中sed命令和awk命令的使用
- laravel 自定义函数库
- Qt学习11——进度条QProgressBar
- 降薪求职,到底该不该?