Matlab小技巧

  1. 生成一个test矩阵
    reshape() 重排列
test = reshape(1:12,3,4);
%// test = 
%// [1,4,7,10;
%//  2,5,8,11;
%//  3,6,9,12];
  1. 判断输入类型、数目、数组维度
    if(~isa(Iin,'double')), Iin=double(Iin); end             % 如果输入的不是double类型,转换为double
    if(nargin<6), ImageSize=[size(Iin,1) size(Iin,2)]; end   % nargin 表示函数输入参数数目
    if(ndims(Iin)==2), lo=1; else lo=3; end                  % ndims() 数组维度数目

源代码是SURF的模块Affine_wrap.m -> Iout = image_interpolation(Iin,Tlocalx,Tlocaly,Interpolation,Boundary,ImageSize)

  1. 判断数据类型 class()

函数的输入参数一般是 cell 数组

K>> arg

arg =

  3×1 cell 数组

    {98×67 uint8}
    {[        5]}
    {[        5]}

>> class(arg)

ans =

    'cell'
    
>> class(arg(2))

ans =

    'cell'

>> class(arg{2})

ans =

    'double'

k>> arg(2)

ans =

  1×1 cell 数组

    {[5]}

K>> arg{2}

ans =

     5

你可能感兴趣的:(matlab学习,matlab,学习)