文件帮助中心文件
对标量结构的每个字段应用函数
= structfun(函数)
= structfun(函数、年代、名称、值)
(A1,…那一种m] = structfun(___)
例子
一种= structfun (fun那S.)应用函数fun对标量结构的每个领域S.,一次一个字段。structfun然后从中连接输出fun变成列向量一种.输入参数fun是接受一个输入参数并返回一个标量的函数句柄。的输出fun可以有任何数据类型,只要该类型的对象可以连接。中元素的个数一种等于输入的字段数S..
一种= structfun (fun那S.)
一种
fun
S.
structfun
不能指定顺序structfun计算一种或者依靠他们以任何特定的顺序完成。
一种= structfun (fun那S.那名称,值)适用fun附加选项由一个或多个指定名称,值对论点。例如,要在结构中返回输出值,请指定“UniformOutput”,假的.你可以返回一种作为一个结构fun返回不能连接到数组中的值。返回的结构具有相同的字段S..
一种= structfun (fun那S.那名称,值)
名称,值
“UniformOutput”,假的
(A1,…那一种m] = structfun(___)返回多个输出阵列A1,…,什么时候fun回报m输出值。fun是否可以返回具有不同数据类型,但每次输出的数据类型必须相同的输出参数fun被称为。您可以将此语法与前面语法的任何输入参数一起使用。
A1,…,
m
全部折叠
创建一个标量结构,其字段包含不同大小的数字数组。
S.F1 = 1:10;S.F2 = [2;4;6];s.f3 = []
S =结构体字段:F1:[1 2 3 4 5 6 7 8 9 10] F2:[3x1双] F3:[]
计算每个数字数组的平均值,并将阵列中的均值返回。
a = structfun(@均值,s)
A =3×15.5000 - 4.0000南
创建标量结构,其中每个字段包含一个随机数数组。
S.X =兰德(10);S.Y =兰德(10);S.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”;p(2).marker =“+”;p(3).marker =';持有从
使用包含矩阵的字段创建标量结构。
S.F1 = 1:10;S.F2 = [2 3;4 5;6 7];S.F3 = RAND(4,4)
S =结构体字段:F1:[1 2 3 4 5 6 7 8 9 10] F2:[3x2双] F3:[4x4双]
计算每个矩阵的手段。的意思是返回包含每列平均值的向量,因此不能以数组的形式返回平均值。要返回结构中的方法,请指定“UniformOutput”,假的名称-值对。
的意思是
a = structfun(@均值,s,'统一输出'假)
A =结构体字段:F1:5.5000 F2:[4 5] F3:[0.6902 0.3888 0.7627 0.5962]
创建一个标量结构。
计算中每个数组的大小S..行数和列数都在3 × 1的数字数组中。
[nrows,ncols] = structfun(@ size,s)
nrows =.3×11 3 4
ncols =.3×110 2 4.
函数应用于指定为函数句柄的输入标量结构的字段。
fun可以对应多个函数文件,因此可以表示一组重载函数。在这些情况下,用MATLAB®基于输入参数的类确定要调用哪个函数。
例子:a = structfun(@ max,s)返回每个字段的最大值S..
a = structfun(@ max,s)
输入结构,指定为标量结构。
指定可选的逗号分离对名称,值参数。名称是参数名称和价值是对应的值。名称必须出现在引号内。您可以按如下顺序指定几个名称和值对参数Name1, Value1,…,的家.
名称
价值
Name1, Value1,…,的家
a = structfun(@均值,s,'serialOutput',false)
'统一输出'
真正的
错误的
True或false,指定为逗号分隔的对,由'统一化',要么真正的(1)或错误的(0.).
'统一化'
1
0.
的价值'统一输出'
描述
真正的(1)
fun必须返回那个标量吗structfun连接到列向量。
错误的(0.)
structfun返回的输出fun在一个或多个标量结构中。输出标量结构具有与输入标量结构相同的字段。输出fun可以有任何数据类型。
'ErrorHandler'
捕获错误的功能,指定为逗号分隔对组成'ErrorHandler'还有一个函数句柄。如果fun抛出错误,然后指定的错误处理程序'ErrorHandler'捕获错误并接受函数中指定的操作。错误处理程序必须抛出错误或返回与fun.如果是值'统一输出'是真的,那么错误处理程序的输出参数必须是标量并且具有与输出相同的数据类型fun.
错误处理程序的第一个输入参数是具有这些字段的结构:
标识符——错误标识符
标识符
信息-错误消息文本
信息
指数- 线性索引进入输入阵列fun扔掉错误
指数
错误处理程序的剩余输入参数是呼叫的输入参数fun制作了fun抛出错误。
假设fun返回两个双打作为输出参数。您可以指定错误处理程序'ErrorHandler',@ errorfunc,在那里errorFunc是一个提出警告的函数并返回两个输出参数。
'ErrorHandler',@ errorfunc
errorFunc
function [A,B] = errorFunc(S,varargin) warning(S。标识符,S.message);一个=南;B =南;结束
如果您未指定'ErrorHandler', 然后structfun重新抛出抛出的错误fun.
输出阵列,作为任何数据类型的列向量或标量结构返回。
默认情况下,structfun的输出连接fun进入栏载体。fun必须返回标量。如果fun返回对象,然后是对象所属的类必须满足这些要求。
金宝app通过线性索引向对象数组进行支持分配
有一个重塑方法,该方法返回与输入具有相同大小的数组
重塑
如果值'统一输出'名称 - 值对参数是错误的(0.),然后structfun将输出作为标量结构的字段返回。在这种情况下,来自的输出fun可以有任何尺寸和不同的数据类型。
用法说明和限制:
这ErrorHandler选项不支持。金宝app
ErrorHandler
输出的数量必须小于或等于三。
Arrayfun.|cell2mat|cellfun|蜘蛛侠|splitapply
Arrayfun.
cell2mat
cellfun
蜘蛛侠
splitapply
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
与当地办事处联系