如何在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]
我想说的要点是:
- 希望函数接收一个数字 还是一根绳子
- 但是当给定一个数组时, 该函数将应用于 数组中的每个元素并返回 另一个数组
谢谢你你可以这样做:
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);