Matlab对`for`的简写,带有嵌套的`if`(如Python的列表理解)

Matlab对`for`的简写,带有嵌套的`if`(如Python的列表理解),matlab,for-loop,inline,list-comprehension,Matlab,For Loop,Inline,List Comprehension,以某种方式解决了问题,但不是从我正在寻找的那一边 我想将一个数组映射到另一个数组,只选取低于某个阈值的元素。基本上是一个for循环,带有检查阈值的if条件语句 我知道arrayfun函数,但我不知道如何在不定义新函数的情况下将条件语句放入其中 有没有办法用内联指令执行此任务?也许这就是您要寻找的: A = (0:49) ./ 50; % Generate the initial array. B = A( A < 0.5 ); % Map an array into another,

以某种方式解决了问题,但不是从我正在寻找的那一边

我想将一个数组映射到另一个数组,只选取低于某个阈值的元素。基本上是一个
for
循环,带有检查阈值的
if
条件语句

我知道
arrayfun
函数,但我不知道如何在不定义新函数的情况下将条件语句放入其中


有没有办法用内联指令执行此任务?

也许这就是您要寻找的:

 A = (0:49) ./ 50; % Generate the initial array.
 B = A( A < 0.5 ); % Map an array into another, picking only the elements below a certain threshold.
A=(0:49)。/50;%生成初始数组。
B=A(A<0.5);%将一个数组映射到另一个数组,只拾取低于某个阈值的元素。

也许这就是你要找的:

 A = (0:49) ./ 50; % Generate the initial array.
 B = A( A < 0.5 ); % Map an array into another, picking only the elements below a certain threshold.
A=(0:49)。/50;%生成初始数组。
B=A(A<0.5);%将一个数组映射到另一个数组,只拾取低于某个阈值的元素。

Or:A(arrayfun(@(x)x<0.5,A)),我认为这可以更容易地扩展到矩阵。是的,arrayfun+匿名函数。更一般,谢谢!现在我必须了解匿名函数…我在哪里可以找到映射操作符的指南?一个“匿名函数”只是一个常规函数(有一些约束。)不要让有趣的语法吓跑你-它们可以以非常强大的方式使用。关于匿名函数的MATLAB文档:或:a(arrayfun(@(x)x<0.5,a)),我认为这可以更容易地扩展到矩阵。是的,arrayfun+匿名函数。更一般,谢谢!现在我必须了解匿名函数…我在哪里可以找到映射运算符的指南?匿名函数只是一个常规函数(带有一些约束。)不要让有趣的语法吓跑你-它们可以以非常强大的方式使用。关于MATLAB中匿名函数的文档: