文件帮助中心文件
将功能应用于单元格数组中的每个单元格
a = Cellfun(Func,C)
a = Cellfun(Func,C1,...,CN)
a = cellfun(___,名称,价值)
[A1,...,AM] = Cellfun(___)
例子
一个= Cellfun(fun那C)适用该功能fun到单元阵列的每个单元格的内容C,一次一个牢房。Cellfun.然后从中连接输出fun进入输出阵列一个,所以为此一世Th元素C那a(i)= func(c {i})。输入论点fun是一个函数的函数掌握,它需要一个输入参数并返回标量。输出从fun可以有任何数据类型,只要该类型的对象可以连接。阵列一个和细胞阵列C具有相同的大小。
一个= Cellfun(fun那C)
一个
fun
C
Cellfun.
一世
a(i)= func(c {i})
您无法指定订单Cellfun.计算一个或者依靠他们以任何特定的顺序完成。
一个= Cellfun(fun,c1,...,cn)适用fun到细胞的内容C1,...,CN, 以便a(i)= func(c1 {i},...,cn {i})。功能fun一定要拿N输入参数并返回标量。细胞阵列C1,...,CN一切都必须具有相同的大小。
一个= Cellfun(fun,c1,...,cn)
C1,...,CN
a(i)= func(c1 {i},...,cn {i})
N
一个= Cellfun(___那名称,价值)适用fun具有一个或多个指定的其他选项名称,价值对论点。例如,要在单元格数组中返回输出值,请指定'统一输出',false。你可以回来一个作为一个单元格数组fun返回无法连接到数组中的值。您可以使用名称,价值对参数与上一个语法中的任何一个的输入参数。
一个= Cellfun(___那名称,价值)
名称,价值
'统一输出',false
[A1,...,AM] = Cellfun(___)返回多个输出阵列A1,......,AM什么时候fun回报m输出值。fun可以返回具有不同数据类型的输出参数,但每个输出的数据类型每次都必须相同fun叫做。您可以使用此语法与先前语法的任何输入参数。
A1,......,AM
m
来自的输出参数的数量fun不必与输入参数的数量不一样C1,...,CN。
全部收缩
创建包含不同大小的数字阵列的单元格数组。
c = {1:10,[2;4;6],[]}
C =1×3个单元阵列{[1 2 3 4 5 6 7 8 9 10]} {3x1 double} {0x0 double}
计算每个数字数组的平均值,并将阵列中的均值返回。
a = cellfun(@均值,c)
A =1×3.5.5000 4.0000纳米
创建包含不同大小的数字阵列的两个单元阵列。
X = {5:5:100,10:10:100,20:20:100};y = {rand(1,20),兰特(1,10),兰特(1,5)};
绘制数组。返回一系列图表行对象阴谋函数并使用它们向每组数据点添加不同的标记。Cellfun.可以返回任何数据类型的阵列,只要该数据类型的对象可以连接。
阴谋
图持有上p = cellfun(@ plot,x,y);p(1).marker ='o';p(2).marker ='+';p(3).marker =';抓住离开
计算每个数组的大小C。行数和列数为1×3数字阵列。
[nrows,ncols] = cellfun(@ size,c)
nrows =.1×3.1 3 0.
ncols =.1×3.10 1 0.
您可以使用Cellfun.将函数应用于字符向量的单元格阵列和字符串数组。Cellfun.相同地处理两种数组。
创建包含平日名称的字符向量的单元格数组。
c = {'周一'那'周二'那'周三'那'周四'那'星期五'}
C =1x5细胞{'周一周二周三周四周五'}
使用该名称为名称创建三个字母的缩写Cellfun.功能。指定提取前三个字符的函数,并将其作为字符向量返回。要在单元格数组中返回缩写,请指定'统一输出',false名称值对。
a = cellfun(@(x)x(1:3),c,'统一输出',错误的)
A =1x5细胞{'mon'} {'tue'} {'thu'} {'thu'} {'thu'} {'fri'}
你也可以打电话Cellfun.在字符串数组上。兼容性,Cellfun.处理字符串阵列的每个元素,如它是字符向量。如果您指定返回文本的函数,则Cellfun.将其作为字符向量的单元格数组返回,而不是字符串数组。
使用字符串数组中的名称创建缩写Cellfun.。
str = [“周六”那“星期日”]
str =1x2字符串“星期六星期天”
b = cellfun(@(x)x(1:3),str,'统一输出',错误的)
B =1x2细胞{'周六周日'}
函数适用于输入单元阵列的单元格的内容,指定为函数句柄,字符向量或字符串标量。
fun可以对应于多个函数文件,因此可以表示一组重载的功能。在这些情况下,Matlab®基于输入参数的类确定要调用哪个函数。
向后兼容性
您可以指定fun作为字符向量或字符串标量,而不是函数句柄,但仅用于有限的一组函数名称。fun可:'是空的'那'islogical'那'是真实的'那'长度'那'ndims'那'prodofsize'那'尺寸', 或者'Isclass'。
'是空的'
'islogical'
'是真实的'
'长度'
'ndims'
'prodofsize'
'尺寸'
'Isclass'
如果指定函数名称而不是函数句柄:
Cellfun.不调用任何函数的过载版本。
这尺寸和islass.功能需要额外的输入Cellfun.功能:
尺寸
islass.
a = Cellfun('size',c,k)返回沿着尺寸K.每个元素的维度C。
a = Cellfun('size',c,k)
K.
a = Cellfun('IsClass',C,ClassName)返回逻辑1(真的)对于每个元素C与之匹配班级名称争论。此语法返回逻辑0(错误的)对于作为子类的对象班级名称。
a = Cellfun('IsClass',C,ClassName)
1
真的
班级名称
错误的
例子:a = cellfun(@均值,c)返回元素的手段C。
输入数组,指定为单元数组或字符串数组。如果C是一个字符串数组,然后Cellfun.对待每个元素C好像它是一个字符向量,而不是一个字符串。
指定可选的逗号分离对名称,价值论点。姓名是参数名称和价值是相应的价值。姓名必须出现在引号内。您可以以任何顺序指定多个名称和值对参数name1,value1,...,namen,valuen。
姓名
价值
name1,value1,...,namen,valuen
a = cellfun(@均值,c,'serialOutput',false)
意思是
'统一输出'
真假,指定为逗号分隔的配对组成'统一输出'和任何一种真的(1) 或者错误的(0.)。
0.
的价值'统一输出'
描述
真的(1)
fun必须返回标量Cellfun.连接到数组中。
错误的(0.)
Cellfun.返回输出fun在细胞阵列中。输出fun可以有任何尺寸和不同的数据类型。
'ErrorHandler'
捕获错误的功能,指定为逗号分隔对组成'ErrorHandler'和一个功能手柄。如果fun抛出错误,然后指定的错误处理程序'ErrorHandler'捕获错误并采取函数中指定的操作。错误处理程序必须丢失错误或返回相同数量的输出fun。如果是值'统一输出'是真的,那么错误处理程序的输出参数必须是标量并且具有与输出相同的数据类型fun。
错误处理程序的第一个输入参数是具有这些字段的结构:
标识符- 错误标识符
标识符
信息- 错误消息文本
信息
指数- 线性索引进入输入阵列fun扔掉错误
指数
错误处理程序的剩余输入参数是呼叫的输入参数fun制作了fun抛出错误。
认为fun返回两个双打作为输出参数。您可以指定错误处理程序'ErrorHandler',@ errorfunc, 在哪里errorfunc.是一个提出警告的函数并返回两个输出参数。
'ErrorHandler',@ errorfunc
errorfunc.
功能[a,b] = errorfunc(s,varargin)警告(s.identifier,s.message);a = nan;B =楠;结尾
如果您未指定'ErrorHandler', 然后Cellfun.rethrows抛出的错误fun。
输出阵列,返回为任何数据类型的数组或作为单元格数组。
默认,Cellfun.从中串联输出fun进入一个阵列。fun必须返回标量。如果fun返回对象,然后是对象所属的类必须满足这些要求。
万博1manbetx通过线性索引向对象数组进行支持分配
有一个重塑返回具有与输入相同大小的数组的方法
重塑
如果值的价值'统一输出'名称 - 值对参数是错误的(0.), 然后Cellfun.在单元格数组中返回输出。在这种情况下,来自的输出fun可以有任何尺寸和不同的数据类型。
此功能支持具有以下限制的高阵万博1manbetx列:
输入功能必须是函数句柄。
输入功能不得依赖执着的变量。
执着的
这'ErrorHandler'不支持名称值对。万博1manbetx
与之'统一输出'名称 - 值对设置为真的(默认),指定函数的输出必须是数字,逻辑,字符或单元格数组。
有关更多信息,请参阅高存储器数据的阵列。
此功能完全支持分布式数组。万博1manbetx有关更多信息,请参阅使用分布式阵列运行MATLAB函数(并行计算工具箱)。
Arrayfun.|Cell2mat|蜘蛛侠|裂开|structfun.
Arrayfun.
Cell2mat
蜘蛛侠
裂开
structfun.
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
您单击了与此MATLAB命令对应的链接:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:。
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
联系您当地的办公室