Info

此问题已关闭。 请重新打开它进行编辑或回答。

While loop with OR

1 次查看(过去 30 天)
Hatim Altarteer
Hatim Altarteer 2020-7-5
关闭: MATLAB Answer Bot 2021-8-20
i have an array [1:14] and i want to choose 5 numbers from that array excluding the 1,4,5,6,8 indicies.
how can i do that in a while loop?

回答(2 个)

madhan ravi
madhan ravi 2020-7-5
setdiff(array, [1,4,5,6,8])

Image Analyst
Image Analyst 2020-7-6
Trying to be as general as p[ossible, try this:
% Define initial vector:
v = 1:14
% Get everything except for certain values:
v2 = setdiff(v, [1,4,5,6,8])
% Get up to 5 randomly located indexes of v2.
numElements = min(5, length(v2))
indexes = sort(randperm(length(v2), numElements)) % Sorting is optional
% Get the values at those indexes (will be the same for this simple example, but not in general).
values = v2(indexes)
You'll see
v =
1 2 3 4 5 6 7 8 9 10 11 12 13 14
v2 =
2 3 7 9 10 11 12 13 14
numElements =
5
indexes =
1 2 4 6 7
values =
2 3 9 11 12

标签

产品


版本

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by