Matlab: 程序优化和调试
程序优化的方向有两个:第一是提高程序的运行速度,第二就是减小程序对与计算机硬件资源的占用。这两个方面常常彼此矛盾,因此一般常优化的常用的思路是在当前的硬件水平下,尽可能多地缩短程序的运行时间。
首先我们需要对程序的好坏有所评价,最常用的方法就是看看程序运行所用的时间。下面以matlab为例做些说明:
- 查看Matlab程序的运行时间:
tic% 标记程序的开始时间
t1=toc% 标记程序运行到这个位置处的时间
disp([''used time=',num2str(t1)])
t2=toc% 标记程序运行到这个位置处的时间
disp(['used time =,num2str(t2)'])
% mark the time difference between t1 and t2
disp(['time diff=',num2str(t2-t1)])
- try和catch的活用[1]
clear all;clc;close all;
x=ones(10,2);
y=ones(2,10);
z=[];
try
z=x*y;
catch
disp('errors');
size(x)
size(y)
end
z
try使用可以有效防止因为出错导致的程序运行中断,而其后紧跟的catch则可以在try报错的时候反馈错误的信息,例如可以像上边的代码一样设置为显示变量的维度。注意catch只会在try中的代码错位时被执行,如果try中的代码正确,则在try中的代码执行完毕之后,程序直接跳转至end,而不会运行catch中的代码段。