主要内容

structfun

的标量函数应用到每个字段的结构

描述

例子

一个= structfun (函数,年代)应用函数函数每个字段的标量结构年代一次,一个字段。structfun然后连接输出函数成列向量一个。输入参数函数处理函数是一个函数,它接受一个输入参数,并返回一个标量。的输出函数可以有任何数据类型,只要该类型的对象可以连接。元素的数量一个=字段的数量年代

你不能指定的顺序structfun计算的元素一个或者依靠他们在任何特定的顺序。

例子

一个= structfun (函数,年代,名称,值)适用于函数由一个或多个指定附加选项名称,值对参数。例如,返回输出值的结构,指定“UniformOutput”,假的。你可以返回一个作为一个结构时函数返回值不能被连接到一个数组中。返回的结构有相同的字段年代

例子

(A1,…,一个米] = structfun(___)返回多个输出数组A1,…,函数返回输出值。函数可以返回输出参数有不同的数据类型,但是每个输出的数据类型必须相同每次函数被称为。您可以使用该语法与任何输入参数的前面的语法。

例子

全部折叠

创建一个标量结构字段包含数值数组大小不同的。

年代。f1 = 1:10;年代。f2 = [2;4;6);年代。f3 = []
S =结构体字段:f1:(1 2 3 4 5 6 7 8 9 10] f2: x1双[3]f3: []

计算每个数字的意思是数组,数组中返回的手段。

一个= structfun (@mean S)
一个=3×15.5000 - 4.0000南

创建一个标量结构中的每个字段包含一个随机数数组。

年代。X =兰德(10);年代。Y =兰德(10);年代。Z =兰德(10)
S =结构体字段:X: [0.8147 0.9058 0.1270 0.9134 0.6324 0.0975 0.2785 0.5469 0.9575 0.9649] Y: [0.1576 0.9706 0.9572 0.4854 0.8003 0.1419 0.4218 0.9157 0.7922 0.9595) Z: [0.6557 0.0357 0.8491 0.9340 0.6787 0.7577 0.7431 - 0.3922 0.6555 - 0.1712)

情节的数组。返回一个数组的图线对象情节功能和使用它们来添加不同的标记每一组数据点。structfun可以返回任何数据类型的数组,只要可以连接对象的数据类型。

图保存p = structfun (@plot S);(1页)。标志=“o”;(2页)。标志=“+”;(3页)。标志=“年代”;持有

图包含一个坐标轴对象。坐标轴对象包含3线类型的对象。

创建一个标量结构字段包含矩阵。

年代。f1 = 1:10;年代。f2 = [2 3;4 5;6 7];年代。f3 =兰德(4,4)
S =结构体字段:f1:(1 2 3 4 5 6 7 8 9 10] f2: [3 x2双]f3: [4 x4双)

每个矩阵的计算方法。的意思是返回包含每一列的均值向量,因此,意味着不能作为一个数组返回。返回的结构意味着,指定“UniformOutput”,假的名称-值对。

= structfun (@mean年代,“UniformOutput”假)
一个=结构体字段:f1: 5.5000 f2: [4 - 5] f3: [0.6902 0.3888 0.7627 0.5962]

创建一个标量结构。

年代。f1 = 1:10;年代。f2 = [2 3;4 5;6 7];年代。f3 =兰德(4,4)
S =结构体字段:f1:(1 2 3 4 5 6 7 8 9 10] f2: [3 x2双]f3: [4 x4双)

计算每个数组的大小年代。行和列的数量都在3×1数字数组。

[nrows, ncols] = structfun (@)
nrows =3×11 3 4
ncols =3×110 2 4

输入参数

全部折叠

功能适用于输入标量结构的字段,指定为一个函数处理。

函数可以对应多个函数文件,因此可以代表一组重载函数。在这些情况下,MATLAB®确定哪些函数来调用基于类的输入参数。

例子:一个= structfun (@max S)返回每个字段的最大值年代

输入结构,指定为一个标量结构。

名称-值参数

指定可选的逗号分隔条名称,值参数。的名字参数名称和吗价值相应的价值。的名字必须出现在引号。您可以指定几个名称和值对参数在任何顺序Name1, Value1,…,的家

例子:= structfun (@mean年代,UniformOutput,假)返回的输出的意思是在一个结构相同的领域年代

或真或假,指定为逗号分隔组成的“UniformOuput”,要么真正的(1)或(0)。

的价值“UniformOutput”

描述

真正的(1)

函数必须返回标量structfun连接到一个列向量。

(0)

structfun返回的输出函数在一个或多个标量结构。输出标量结构有相同的字段作为输入标量结构。的输出函数可以拥有任意数据类型。

函数来捕获错误,指定为逗号分隔组成的“ErrorHandler”和一个函数处理。如果函数抛出一个错误,然后指定的错误处理程序“ErrorHandler”捕获错误和行动中指定的函数。错误处理程序必须抛出一个错误或返回相同数量的输出函数。如果该值的“UniformOutput”是真的,那么错误处理程序的输出参数必须标量和有相同的数据类型的输出函数

的第一个输入参数错误处理程序是一个结构,这些字段:

  • 标识符——错误标识符

  • 消息——错误消息文本

  • 指数——线性的输入数组索引函数把错误

其余的输入参数的错误处理程序调用的输入参数函数使函数抛出的错误。

假设函数返回两个双打作为输出参数。您可以指定的错误处理程序ErrorHandler, @errorFunc,在那里errorFunc是一个函数,提出了一个警告,并返回两个输出参数。

函数[A, B] = errorFunc (S (S,变长度输入宗量)警告。标识符,S.message);一个=南;B =南;结束

如果你不指定“ErrorHandler”,然后structfun重新抛出错误抛出函数

输出参数

全部折叠

输出数组,返回任何数据类型的列向量或一个标量结构。

默认情况下,structfun连接的输出函数成一个列向量。函数必须返回标量。如果函数返回对象,那么类的对象属于必须满足这些要求。

  • 金宝app支持赋值线性索引对象数组

  • 有一个重塑同样大小的方法,该方法返回一个数组作为输入

如果该值“UniformOutput”名称-值对的观点是(0),然后structfun返回输出作为标量的字段结构。在这种情况下,输出函数可以有任何大小和不同的数据类型。

扩展功能

之前介绍过的R2006a