胞元数组批量化操作函数cellfun 20170317

函数 cellfun

功能 对胞元数组中的每个元素进行相同的操作

格式 

[A1,A2,A3...Am] = cellfun(func,C1,...,Cn)

[A1,A2,A3...Am] = cellfun(func,C1,...,Cn,Name,Value)

备注

格式二中 Name,Value对中Name 可选为‘UniformOutput’和‘ErrorHandler’

Uniformoutput

true 将输出整合为一个数组

C = {rand(3),rand(3),rand(3)};
fcn = @mean;
cellfun(fcn,C,'UniformOutput',true)

false 输出为胞元数组

C = {rand(3),rand(3),rand(3)};
fcn = @mean;
cellfun(fcn,C,'UniformOutput',false)


输出中m对应于函数的操作,但每个输出的维度与n相同

C = {rand(3),rand(3),rand(3)};

[nRows,nCols] = cellfun(@size,C)

cellfun(@size,C,'UniformOutput',false)


对字符串的统一操作

days = {'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'};

abbrev = cellfun(@(x) x(1:3), days, 'UniformOutput', false)

error handle

主函数

A = {rand(3)};
B = {rand(5)};
AgtB = cellfun(@(x,y) x > y, A, B, 'ErrorHandler', @errorfun, ...
               'UniformOutput', false)

错误处理函数

function result = errorfun(S, varargin)
   warning(S.identifier, S.message);
   result = 1;%NaN;
end


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值