structfun
将功能应用于标量结构的每个字段
句法
a = structFun(func,s)
a = structFun(func,s,name,value)
[a1,...,am] = structFun(___)
描述
[a1,...,am] = structFun(___)
返回多个输出数组A1,...,AM
什么时候功能
返回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 double] F3:[]
计算每个数字阵列的平均值,并在数组中返回均值。
a = structFun(@mean,s)
a =5.5000 4.0000南
返回对象数组
创建一个标量结构,其中每个字段包含一个随机数的数组。
s.x = rand(1,10);s.y = rand(1,10);s.z = rand(1,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);p(1).marker ='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 double] F3:[4x4 double]
计算每个矩阵的均值。意思是
返回包含每列平均值的向量,因此无法将均值作为数组返回。要返回结构中的平均值,请指定“统一输出”,错误
名称对。
a = structFun(@mean,s,“统一输出”,错误的)
a =带有字段的结构:F1:5.5000 F2:[4 5] F3:[0.6902 0.3888 0.7627 0.5962]
返回多个输出数组
创建标量结构。
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 double] F3:[4x4 double]
计算每个数组的大小s
。行和列的数量分别为3 by-1数字阵列。
[nrows,ncols] = structFun(@size,s)
nrows =1 3 4
ncols =10 2 4
输入参数
功能
-应用功能
功能句柄
函数应用于指定为函数句柄的输入标量结构的字段。
功能
可以对应于多个功能文件,因此可以代表一组过载功能。在这些情况下,matlab®根据输入参数的类确定要调用的函数。
例子:a = structFun(@max,s)
返回每个字段的最大s
。
s
-输入结构
标量结构
输入结构,指定为标量结构。
名称值对参数
指定可选的逗号分隔对名称,价值
参数。姓名
是参数名称和价值
是相应的值。姓名
必须出现在单引号中(''
)。您可以按任何顺序指定几个名称和值对参数NAME1,Value1,...,Namen,Valuen
。
a = structFun(@mean,s,'UniformOutput',false)
从意思是
在具有与相同字段的结构中s
。
“统一输出”
-对或错
1
(默认)|0
是或错,指定为逗号分隔对,由“均匀企业”
两者1
((真的
) 或者0
((错误的
)。
的价值 |
描述 |
---|---|
|
|
|
|
'ermorhandler'
-捕获错误的功能
功能句柄
捕获错误的函数,指定为逗号分隔对'ermorhandler'
和功能手柄。如果功能
引发错误,然后是错误处理程序指定的错误处理程序'ermorhandler'
捕获错误,并采用函数中指定的操作。错误处理程序必须扔错误或返回相同数量的输出与功能
。如果价值“统一输出”
是真的,那么错误处理程序的输出参数必须是标量,并且具有与输出相同的数据类型功能
。
错误处理程序的第一个输入参数是具有这些字段的结构:
标识符
- 错误标识符信息
- 错误消息文字指数
- 线性索引进入输入数组功能
扔了错误
对错误处理程序的其余输入参数是调用呼叫的输入参数功能
那做了功能
投掷错误。
认为功能
返回两个双打作为输出参数。您可以将错误处理程序指定为'ermorhandler',@errorfunc
, 在哪里errorfunc
是发出警告并返回两个输出参数的函数。
函数[a,b] = errorFunc(s,varargin)警告(s.Identifier,s.message);a = nan;b = nan;结尾
如果您不指定'ermorhandler'
, 然后structfun
重新抛出错误功能
。
输出参数
一个
- 输出数组
任何数据类型的列向量|标量结构
输出数组,作为任何数据类型或标量结构的列向量返回。
默认,structfun
加入来自功能
进入列矢量。功能
必须返回标量。如果功能
返回对象,然后对象所属的类必须满足这些要求。
金宝app通过线性索引到对象阵列中的支持分配
有一个
重塑
返回具有与输入相同大小的数组的方法
如果价值“统一输出”
名称值对参数是0
((错误的
), 然后structfun
返回输出作为标量结构的字段。在这种情况下,输出来自功能
可以具有任何尺寸和不同的数据类型。
扩展功能
C/C ++代码生成
使用MATLAB®CODER™生成C和C ++代码。
用法注释和限制:
这
ErrorHandler
不支持选项。金宝app输出的数量必须小于或等于三。
在R2006a之前引入
matlab命令
您单击了与此MATLAB命令相对应的链接:
通过在MATLAB命令窗口中输入该命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择一个网站:
如何获得最佳网站性能
选择中国网站(中文或英语)以获得最佳场地性能。其他Mathworks乡村网站未针对您所在的访问进行优化。
美洲
- AméricaLatina(Español)
- 加拿大(英语)
- 美国(英语)