Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Matlab中使用匿名函数对阵列进行滤波?_Matlab - Fatal编程技术网

如何在Matlab中使用匿名函数对阵列进行滤波?

如何在Matlab中使用匿名函数对阵列进行滤波?,matlab,Matlab,我想写一个过滤数组的函数,最好是匿名函数。很难用语言表达,但它是这样的: f = @(x) { if (x > 1) x+1 }; a = [ 1, 2, 3]; f(a) % ==> [ 1 3 4] 我想说的要点是: 希望函数接收一个数字 还是一根绳子 但是当给定一个数组时, 该函数将应用于 数组中的每个元素并返回 另一个数组 这与函数log()的工作方式类似: 谢谢你你可以这样做: f = @(x) x + (x > 1); @Martin08:您希望函数接收

我想写一个过滤数组的函数,最好是匿名函数。很难用语言表达,但它是这样的:

f = @(x) { if (x > 1) x+1 }; 
a = [ 1, 2, 3];
f(a) % 
==> [ 1 3 4]
我想说的要点是:

  • 希望函数接收一个数字 还是一根绳子
  • 但是当给定一个数组时, 该函数将应用于 数组中的每个元素并返回 另一个数组
这与函数log()的工作方式类似:


谢谢你

你可以这样做:

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

@Martin08:您希望函数接收哪种类型的字符串输入?@b3:字符串将位于单元格数组{'str1','str2'}中。Thanks@Martin08:当输入为
{'str1',str2'}
时,函数的输出应该是什么?@b3:谢谢您的回复。输出将是一个单元格数组,比如说{'STR1','STR2'}@Martin08:我仍在试图理解你在追求什么。你是说这两个标准是正确的:
f([123])=[134]
f({'str1','str2'})={'str1','str2'}
f = @(x) x + (x > 1);