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