1

我想在 Matlab 代码中的数组中找到一个值的多个元素。我找到了函数 mod 和 find,但它们返回元素的索引而不是元素。此外,我编写了以下代码:

x=[1 2 3 4];
if (mod(x,2)==0)
a=x;
end

但这不起作用。我怎么解决这个问题?

4

3 回答 3

3

看起来你要找到 2 的所有倍数(或任何数字),你可以使用以下方法来实现:

a = x( mod(x,2) == 0 ) ;
于 2017-01-10T10:31:26.963 回答
0

做的时候a = xx还是x=[1 2 3 4]不管(mod(x,2)==0)是真是假;您可以为 分配一个值(mod(x,2)==0),例如val = (mod(x,2)==0),然后将此值附加/添加到新数组。

于 2017-01-10T10:47:42.747 回答
0

给定一个向量numberList = [ 1, 2, 3, 4, 5, 6];和一个数字,您可以使用找到数字的倍数的number = 2;索引(向量中的位置)。numberListindices = find(mod(numberList, number) ==0);

如有必要,您可以显示此倍数调用的列表:multiples = numberList(indices)

multiples =

     2     4     6
于 2017-01-10T13:14:43.600 回答