matlab - 如何在Matlab中使用匿名函数过滤数组?

标签 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);

关于matlab - 如何在Matlab中使用匿名函数过滤数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5250838/

相关文章:

matlab - 计算矩阵的每条对角线之和

java.lang.UnsatisfiedLinkError : Native Library: {. ..}.dll 已经加载到另一个类加载器中

java - 基于 MATLAB 的 Java 程序

matlab - 如何创建自定义非线性滤波器?

matlab - 是否可以使用枚举作为 MATLAB 矢量或 map 的下标?

MATLAB:使用 block 向量高效生成 block 矩阵

string - MATLAB 是否有字符串的 strip 函数?

matlab - 如何在 MATLAB 中有效地查找和合并向量的重复条目?

matlab - 如何加速包含 kronecker 产品的 for 循环?

matlab - 在 matlab 中创建一个高通滤波器