matlab - 我想根据元素条件提取子向量

标签 matlab

我有一个matlab向量

a = [1,2,3,4,5,6,7,8,9,10]

并希望基于 bool 函数提取所有值,例如所有偶数。像这样:

result = selector(a, is_even);
% result is now [2,4,6,8,10]

有没有简单的方法来做到这一点?

此外,假设我有一个矩阵

A = [1,2,3 
     4,5,6,
     7,8,9]

是否还有一种方法可以选择以第一列中的偶数值开头的行?

result = selector(A, is_even);
% result is now a matrix with one row [4,5,6]

最佳答案

使用logical indexing .

第一个问题:

result = a(mod(a,2)==0);

第二个问题:

result = A(mod(A(:,1),2)==0,:);

关于matlab - 我想根据元素条件提取子向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23042781/

相关文章:

excel - 如何查找具有特定字符的文件名

arrays - 查找数组中所有连续集合的位置 (MATLAB)

arrays - 如何在 Matlab 中的单元格数组中查找唯一单元格(数字不是字符串)

c - 如何在 Matlab Coder 中为具有不同输入数量的函数定义输入类型?

python - Python 中的 fitdist 和 histfit 相当于什么?

java - For 循环和计算移动平均线

matlab - 有没有更好的方法来随机生成双随机矩阵?

MATLAB - 如何一起缩放子图?

matlab - 同一图中的多个极坐标图

windows - 将 Octave /matlab 输出写入剪贴板