1. 基本思路

  • 矩阵矢量化编程,而不是循环和遍历;
  • GPU 并行计算;
  • 使用稀疏矩阵;

2. 实践

  • 可变长输入参数,输出参数,需要解析(使用大括号进行索引);
    • varargin
    • varargout
    • 函数体内,首先进行的是可变长输入输出参数的解析,赋值;
  • 可变长参数与参数默认值;

    if ~exist('sigma', 'var'),
        sigma = .05;
    end

3. 默认参数设置方法


if ~exist('opt_normalize', 'var') || isempty(opt_normalize)
    % opt_normalize 参数为空,或者不以变量的形式存在;
    opt_normalize= true;
end

if ~exist('opt_graycolor', 'var') || isempty(opt_graycolor)
    % opt_graycolor 参数为空,或者不以变量的形式存在;
    opt_graycolor= true;
end

if ~exist('opt_colmajor', 'var') || isempty(opt_colmajor)
    % opt_colormap 参数为空,或者不以变量的形式存在;
    opt_colmajor = false;
end
posted on 2016-11-18 12:44  未雨愁眸  阅读(374)  评论(0编辑  收藏  举报