三个小技巧帮你提高MATLAB代码运行速度
在进行大规模数据运算的时候,MATLAB的速度一直是一个让人诟病的问题。单是养成良好的编程习惯,
会让你在不经意间让你的代码运行效率提高数倍。
1. 为循环中频繁存取的数组提前分配空间
2. 以列为单位进行数据的存取
3. 避免创建不必要的中间变量
1. Preallocate Arrays Before Accessing them Within Loops
1: N = 10e3;
2:
3: x{1} = 1000;
4: for k=2 : N
5: x{k} = 1.05*x{k-1};
6: end
7:
8: Machine A = 0.14.9 sec
1: N = 10e3;
2: A = zeros{N,1};
3: for k = 2 :N
4: x{k} = 1.05*x{k-1};
5: end
6:
7: Machine A = 0.00024 sec
3. Avoid Creating Unnecessary Variables
1: y = myfun(x);
2:
3: function y = myfun(x)
4: y = 1.2*x;
5:
6: Machine A = 0.0858 sec
7:
8: x = myfun_ip(x);
9:
10: function x = myfun_ip(x)
11: x = 1.2*x;
12:
13: Machine A = 0.0508 sec