matlab 动态分配内存,[Matlab科学计算之高效编程] 1. 预分配内存
通過對變量預分配內存可以大大降低計算耗時,下面舉例說明。
1.沒有預分配變量內存情況
clear
n = 2000;
tic;
for i=1:n
for j=1:n
a(i,j) = 1;
end
end
time = toc;
disp(['未預分配內存下計算時間為',num2str(time),'秒'])
計算時間為:
未預分配內存下計算時間為3.3465秒
2.預分配變量內存情況
clear
n = 2000;
tic;
a = zeros(n,n,'double');
for i=1:n
for j=1:n
a(i,j) = 1;
end
end
time = toc;
disp(['預分配內存下計算時間為',num2str(time),'秒'])
計算時間為:
預分配內存下計算時間為0.058691秒
可以看出時間大大降低。
3.預分配變量內存方式
a = zeros(n,n,'double') 和 a(n,n) = 0 以及 a = zeros(n,n) 是不一樣的,第一種方式消耗時間最小。
>> clear
n = 40000;
tic;
a = zeros(n,n,'double');
time = toc;
disp(time)
0.0023
>> clear
n = 40000;
tic;
a(n,n) = 0;
time = toc;
disp(time)
0.0036
>> clear
n = 40000;
tic;
a = zeros(n,n);
time = toc;
disp(time)
0.0076
總結
以上是生活随笔為你收集整理的matlab 动态分配内存,[Matlab科学计算之高效编程] 1. 预分配内存的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 水解聚丙烯酰胺 php,聚丙烯酰胺水溶液
- 下一篇: 八数码c语言编程深度搜索,广度优先搜索解