Matlab: 程序优化和调试 - DocNan

Matlab: 程序优化和调试

程序优化的方向有两个:第一是提高程序的运行速度,第二就是减小程序对与计算机硬件资源的占用。这两个方面常常彼此矛盾,因此一般常优化的常用的思路是在当前的硬件水平下,尽可能多地缩短程序的运行时间。

首先我们需要对程序的好坏有所评价,最常用的方法就是看看程序运行所用的时间。下面以matlab为例做些说明:

  1. 查看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)])
  1. 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中的代码段。

参考:

[1]http://blog.sina.com.cn/s/blog_4d7fde360102vnll.html