函数句柄、单元数组和结构
函数句柄:包含有引用函数时所有的信息,优点:将函数句柄作为调用中的参量传递到另一个函数;可以保存到数据结构或文件中
函数句柄运算符@
有两种函数句柄:1、命名函数句柄:创建例如:>>f=@sin
调用例如:>>f(pi/4) 或者>>sin(pi/4)
2、匿名函数句柄(anonymous function handle):创建格式:@(input - argument - list)expression 例如:>>g = @(x) x.^2;%得到输入的平方
单元数组:能在一个变量名下组合一套对象(如数字、字符、其他单元矩阵)的方法
例如:>>C= { f , b, char_array }
>>C 输出的是特性的描述
>>C{3} 查看该单元的第三个元素的全部内容
>>C(3) 查看该单元的第三个元素的特性描述
特别注意:单元数组只包含有参量的副本,不包含指向这些参量的指针。也就是说当C的任何参量在C创建之后改变了,C中的描述不会改变
结构:与单元数组类似,可将不同的数据组合为单个变量
区别:单元的地址由数字寻址
结构的元素由用户定义的称为字段的名称寻址
例如:>>function s =image_stats(f) %s是一个结构,f是一幅输入图像
>>s.dm=size(f); % [ M,N ] = size(f) 返回二维图像f的行数和列数
>>s.AI=mean2(f); % means(f)计算f中元素的平均值
>>s.AIrows=mean(f,2);
>>s.AIcols=mean(f,1);
字段名是任意的,如dm,AI 但必须以非数字的字符开始