标签:编程 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计算速度的影响了,可见算法的重要性
标签:编程 idt ima class 图片 matlab src png 不同的
原文地址:https://www.cnblogs.com/303zg/p/14492529.html