• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Matlab中cellfun函数的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
Compute the mean of each vector in cell array C.

C = {1:10, [2; 4; 6], []};

averages = cellfun(@mean, C)
This code returns

averages =
    5.5000    4.0000       NaN

.............................................................

  该函数就是专门对cell数组进行操作的,个人认为是代替了传统的for循环,和C语言不一个思想,主要是行列化矩阵,一次处理。

  比如a = {[1 2 3] [4 5 6]},那么cellfun(@length,a)得到6。线cell2mat也可以吧,然后分别计算,在累加。

Compute the size of each array in C, created in the previous example.

[nrows, ncols] = cellfun(@size, C)
This code returns

nrows =
     1     3     0
ncols =
    10     1     0

  ..........................................................

  cellfun中使用自定义函数对cell数组进行处理;既然可以自定义函数,那么cellfun中的的中间部分的参数个数和自定义函数需要的参数数目相同。

  还能这么用。

queryNearestNeighborIds = cellfun( @(vector, index) vector(index), queryCandidateIds, queryNearestNeighborIds, \'UniformOutput\', false );
	

  ................................................

Create a cell array that contains strings, and abbreviate those strings to the first three characters. Because the output strings are nonscalar, set UniformOutput to false.

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

abbrev = cellfun(@(x) x(1:3), days, \'UniformOutput\', false)
The syntax @(x) creates an anonymous function. This code returns

abbrev = 
    \'Mon\'    \'Tue\'    \'Wed\'    \'Thu\'    \'Fri\'

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
【转】Delphi货币类型转中文大写金额发布时间:2022-07-18
下一篇:
Delphi开发嵌入IE的OCX,调用页面上JavaScript的方法发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap