matlab08--函数句柄 元胞数组(cell)

一、函数句柄

1.函数句柄(Function handle)是MATLAB的一种数据类型。引入函数句柄是为了使feval及借助于它的泛函指令工作更可靠;特别在反复调用情况下更显效率;使“函数调用”像“变量调用”一样方便灵活;提高函数调用速度,提高软件重用性,扩大子函数和私用函数的可调用范围;迅速获得同名重载函数的位置、类型信息。MATLAB中函数句柄的使用使得函数也可以成为输入变量,并且能很方便的调用,提高函数的可用性和独立性。

2.函数句柄可以将其理解成一个函数的代号,就像一个人的名字,这样在调用时可以调用函数句柄而不用调用该函数。

3.创建函数句柄需要用到操作符@,创建函数句柄的语法:
fhandle = @function_filename
调用函数时就可以调用该句柄,可以实现同样的功能。
例如:
fhandle = @sin
就创建了sin的句柄,输入fhandle(x)其实就是sin(x)的功能。

二、元胞数组(cell)类型

1.元胞数组是MATLAB的一种特殊数据类型,可以将元胞数组看作为一种 无所不包的通用矩阵(广义矩阵)
2.组成元胞数组的元素可以是任何一种数据类型的常数或常量。数据类型可以是字符串、双精度数、稀疏矩阵、元胞数组、结构或其他MATLAB数据类型。
3.每一个元胞数据可以是标量、向量、矩阵、N维数组,每一个元素可以具有不同的尺寸和内存空间,每一个元素的内容可以完全不同,元胞数组的元素叫作元胞。
4.元胞数组的内存空间是动态分配的,它的维数不受限制。
5.访问元胞数组的元素可以使用单下标方式或全下标方式。
6.例子:

A={rand(2,2,2),'Hello',pi;17,1+i,magic(5)}
A(2,1)
cellplot(A)

结果显示:
A =

  2×3 cell 数组

    {2×2×2 double}    {'Hello'           }    {[  3.1416]}
    {[        17]}    {[1.0000 + 1.0000i]}    {5×5 double}


ans =

  1×1 cell 数组

    {[17]}

matlab08--函数句柄 元胞数组(cell)_第1张图片

你可能感兴趣的:(matlab)