2

它只是等同于2:2:10忽略向量,还是有任何进一步的应用?

我想创建一个由多个数字组成的数组,就像 一样[2,3,4,6,8,9,10],但令人惊讶(2:3):2:10的是返回了[2,4,6,8,10].

4

2 回答 2

2

Colon的文档中:

如果您指定非标量数组,MATLAB 将解释j:i:kj(1):i(1):k(1).

于 2013-07-15T09:40:07.490 回答
0

正如尼克回答的那样,您所写的内容被 MATLAB 解释为

2:2:10

即,3忽略第一个嵌套序列的 。

我认为你想要完成的是union两个单独的序列:

>> union(2:2:10, 3:3:10)
ans =
    2     3     4     6     8     9    10

更普遍,

N = 100;

C = arrayfun(@(x)x+x:x:N, 2:N, 'UniformOutput', false);
unique([C{:}])
于 2013-07-15T09:57:57.367 回答