structfun
将函数应用于标量结构的每个字段
语法
(A1,…,一个n= structfun(函数,年代)
(A1,…,一个n= structfun(函数,年代,名称,值)
描述
(
应用函数句柄指定的函数A1,…,一个
= structfun(函数
,年代
)函数
对每个标量结构的场年代
。输出数组A1,…,一个
,在那里n
函数的输出数是多少函数
,包含函数调用的输出。
(
调用函数A1,…,一个
= structfun(函数
,年代
,名称,值
)函数
带有一个或多个指定的附加选项名称,值
对参数。可能的值为名字
是“UniformOutput”
或“ErrorHandler”
。
输入参数
|
接受单个输入参数并返回的函数的句柄 如果函数 |
|
标量的结构。 |
名称-值对参数
的可选逗号分隔对名称,值
参数。名字
参数名称和价值
对应的值。名字
必须出现在单引号内(' '
).您可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家
。
|
逻辑值,如下:
默认值: |
||||||
|
一个函数的句柄,用于捕获MATLAB试图执行函数时发生的任何错误 MATLAB使用两个输入参数调用指定的错误处理函数:
|
输出参数
|
数组,用于收集 如果
如果 |
例子
创建一个标量结构,并计算每个字段中的字符数。
s.f1 = '星期日';s.f2 = '星期一';s.f3 = '星期二';s.f4 =“星期三”;s.f5 = '星期四';s.f6 = '星期五';s.f7 = '星期六';长度= structfun(@numel, s)
的每个字段中的文本要缩短年代
,在前面的示例中创建。因为输出是非标量,所以设置UniformOutput
来假
。
shortNames = structfun(@(x) (x (1:3)), s, 'UniformOutput', false)
的语法@ (x)
创建一个匿名函数。
定义并调用自定义错误处理函数。
函数结果= errorfun(errorinfo, field)警告(errorinfo. field)标识符,errorinfo.message);结果= NaN;mystruct结束。F1 = 'text';myresult = structfun(@(x) x^2, mystruct, 'ErrorHandler', @errorfun)