查看单个帖子
旧 2019-12-14, 20:13   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在Matlab中使用匿名函数过滤数组?

我想写一个过滤数组的函数,最好是匿名函数。很难用语言说出来,但是就像这样:

f = @(x) { if (x > 1) x+1 }; a = [ 1, 2, 3]; f(a) % ==> [ 1 3 4] 我想要的关键点是:
  • 希望函数接收数字或字符串
  • 但是当给定一个数组时,该函数会将其自身应用于该数组中的每个元素并返回另一个数组。
这类似于函数log()的工作方式:

>> log(1) ans = 0 >> log([1,2,3]) ans = 0 0.6931 1.0986 谢谢



回答:

您可以这样做:

f = @(x) x + (x > 1);

更多&回答...
poster 当前离线   回复时引用此帖