文档帮助中心文档
对标量结构的每个域应用函数
= structfun(函数)
= structfun(函数、年代、名称、值)
(A1,…,一个米] = structfun(___)
例子
一个= structfun (函数,年代)应用函数函数对标量结构的每个域年代例如,一次一个字段。structfun然后连接来自的输出函数变成列向量一个.输入参数函数是接受一个输入参数并返回标量的函数的句柄。的输出函数可以拥有任何数据类型,只要该类型的对象可以连接。元素的数量一个等于域中的字段数年代.
一个= structfun (函数,年代)
一个
函数
年代
structfun
你不能指定顺序structfun计算一个或者依赖于它们以特定的顺序进行。
一个= structfun (函数,年代,名称,值)适用于函数附加选项由一个或多个指定名称,值对参数。例如,要在结构中返回输出值,请指定“UniformOutput”,假的.你可以返回一个作为一个结构函数返回不能连接到数组中的值。返回的结构具有与年代.
一个= structfun (函数,年代,名称,值)
名称,值
“UniformOutput”,假的
(A1,…,一个米] = structfun(___)返回多个输出数组A1,…,当函数返回米输出值。函数是否可以返回具有不同数据类型的输出参数,但每次输出的数据类型必须相同函数被称为。您可以将此语法与前面语法的任何输入参数一起使用。
A1,…,
米
全部折叠
创建一个标量结构,其字段包含不同大小的数字数组。
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: []
计算每个数字数组的平均值,并返回数组中的平均值。
一个= structfun (@mean S)
一个=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.9575 0.9649] y: [0.1576 0.9706 0.9572 0.4854 0.8003 0.1419 0.218 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页)。标志=“年代”;持有从
创建包含矩阵的字段的标量结构。
S.f1 = 1:10;S.f2 = [2 3;4 5;6 7];S.f3 =兰德(4,4)
S =结构体字段:F1: [1 2 3 4 5 6 7 8 9 10] f2: [3x2双]f3: [4x4双]
计算每个矩阵的均值。的意思是返回包含每列平均值的向量,因此方法不能作为数组返回。要在结构中返回方法,请指定“UniformOutput”,假的名称-值对。
的意思是
= structfun (@mean年代,“UniformOutput”假)
一个=结构体字段:F1: 5.5000 f2: [4 5] f3: [0.6902 0.3888 0.7627 0.5962]
创建一个标量结构。
计算每个数组的大小年代.行数和列数都是3乘1的数字数组。
[nrows, ncols] = structfun (@)
nrows =3×11 3 4
ncols =3×110 2 4
函数,以应用于作为函数句柄指定的输入标量结构的字段。
函数可以对应多个函数文件,因此可以表示一组重载函数。在这些情况下,MATLAB®根据输入参数的类确定要调用哪个函数。
例子:一个= structfun (@max S)的每个字段的最大值年代.
一个= structfun (@max S)
输入结构,指定为标量结构。
指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家.
的名字
价值
Name1, Value1,…,的家
= structfun (@mean年代,UniformOutput,假)
“UniformOutput”
真正的
假
True或false,指定为逗号分隔的对,由“UniformOuput”,要么真正的(1)或假(0).
“UniformOuput”
1
0
的价值“UniformOutput”
描述
真正的(1)
函数必须返回标量吗structfun连接成列向量。
假(0)
structfun返回函数在一个或多个标量结构中。输出标量结构具有与输入标量结构相同的字段。的输出函数可以有任何数据类型。
“ErrorHandler”
函数捕获错误,指定为逗号分隔的对,由“ErrorHandler”和一个函数句柄。如果函数抛出错误,然后指定的错误处理程序“ErrorHandler”捕获错误并执行函数中指定的操作。错误处理程序必须抛出错误或返回与函数.如果“UniformOutput”为true时,则错误处理程序的输出参数必须为标量,并且具有与函数.
错误处理程序的第一个输入参数是一个包含以下字段的结构:
标识符——错误标识符
标识符
消息-错误信息文本
消息
指数-输入数组的线性索引函数把错误
指数
错误处理程序的其余输入参数是调用的输入参数函数使函数抛出的错误。
假设函数返回两个double作为输出参数。可以将错误处理程序指定为ErrorHandler, @errorFunc,在那里errorFunc是一个引发警告并返回两个输出参数的函数。
ErrorHandler, @errorFunc
errorFunc
function [A,B] = errorFunc(S,varargin)标识符,S.message);一个=南;B =南;结束
如果没有指定“ErrorHandler”,然后structfun重新抛出由函数.
输出数组,作为任意数据类型的列向量或标量结构返回。
默认情况下,structfun连接的输出函数变成一个列向量。函数必须返回标量。如果函数返回对象,那么对象所属的类必须满足这些要求。
万博1manbetx支持线性索引到对象数组的赋值
有一个重塑方法,该方法返回与输入大小相同的数组
重塑
如果“UniformOutput”名称-值对参数为假(0),然后structfun将输出作为标量结构的字段返回。在这种情况下,输出函数可以有任何大小和不同的数据类型。
使用注意事项及限制:
的ErrorHandler选项不支持。万博1manbetx
ErrorHandler
输出的数量必须小于或等于3。
arrayfun|cell2mat|cellfun|spfun|splitapply
arrayfun
cell2mat
cellfun
spfun
splitapply
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系