码迷,mamicode.com
首页 > 其他好文 > 详细

初学matlab编程运算速度的一些优化

时间:2021-03-08 13:25:36      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:编程   idt   ima   class   图片   matlab   src   png   不同的   

学习了matlab了之后发现编程的技巧很重要,掌握了正确的编程技巧之后计算速度会加快非常多,尤其是面对一些规模庞大的问题,可以减轻计算机的负担。

我了解到优化matlab代码的一种方法是对于循环内的大数组进行预先定义、分配空间。

利用tic与toc命令计算运算所用时间的方法,测试两种编程的效率

通过下列代码对比预先分配空间(t1)和运行中分配空间(t2)的运算速度

n = 50;
m = 1000;
for k = 1:n
   A = [];
   tic
   A(1:m,1:m) = 3;
   for i = 1:m
       A(i,i) = i;
   end
   t1(k) = toc
   A = [];
   tic
   for j = 1:m
       A(j,j) = j;
   end
   t2(k) = toc
end
t2(t1>10^9) = [];
t1(t1>10^9) = [];
plot([t1;t2])

 

通过下图可以看出比较明显的区别

技术图片技术图片

之后我添加一条代码      plot([t1;t2]‘),让数据更加直观(上为t2,下为t1)

技术图片

 

完整代码

n = 50;
m = 1000;
for k = 1:n
   A = [];
   tic
   A(1:m,1:m) = 3;
   for i = 1:m
       A(i,i) = i;
   end
   t1(k) = toc
   A = [];
   tic
   for j = 1:m
       A(j,j) = j;
   end
   t2(k) = toc
end
t2(t1>10^9) = [];
t1(t1>10^9) = [];
plot([t1;t2])

 

 通过一系列实践就可以看出不同的编程方式对于matlab计算速度的影响了,可见算法的重要性

 

初学matlab编程运算速度的一些优化

标签:编程   idt   ima   class   图片   matlab   src   png   不同的   

原文地址:https://www.cnblogs.com/303zg/p/14492529.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!